使用DBUtils.jar中的QueryRuner类的query方法报以下异常,有知道的大侠看看哪出问题了,感激不尽 在线等 10

这是出事代码:@Testpublicvoidadd()throwsSQLException{QueryRunnerqr=newQueryRunner(JdbcUtil.g... 这是出事代码:

@Test
public void add() throws SQLException{

QueryRunner qr = new QueryRunner(JdbcUtil.getDataSource());
String sql ="insert into tt(name,gender) values(?,?)";//这句代码出问题了,提示关键字 'WHERE' 附近有语法,百思不得其解,哪来的where关键字
Object params[] = {"aaaa","female"};
qr.update(sql, params);

以下是异常信息:

java.sql.SQLException: com.microsoft.sqlserver.jdbc.SQLServerException: 关键字 'WHERE' 附近有语法错误。 Query: insert into tt(name,gender) values(?,?) Parameters: [aaaa, female]
at org.apache.commons.dbutils.AbstractQueryRunner.rethrow(AbstractQueryRunner.java:363)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:490)
at org.apache.commons.dbutils.QueryRunner.update(QueryRunner.java:456)
at com.tycmc.dao.demo1.add(demo1.java:22)
这个语句执行修改,删除,和查询都没有问题,就增加出问题了!!!!
展开
 我来答
特洛伊之殇梁
2015-07-09
知道答主
回答量:1
采纳率:100%
帮助的人:1217
展开全部
楼主啊,我也是这个问题,这个问题其实是sql语句的问题,insert into tt加个空格(name,gender) 加个空格values加个空格(?,?)。完美解决,望采纳
1鬯塥曝窘筒r
2014-11-27
知道答主
回答量:2
采纳率:0%
帮助的人:2303
展开全部
改为:insert into tt (name,gender) values(?,?)试试,在tt表名与字段名之间加空格
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-09
展开全部
看方法 qr.update(sql, params)的代码是如何的。
追问
这是调用Apache dbutils框架啊,Apache源代码如下(文字限制,这是核心代码):
stmt = this.prepareStatement(conn, sql);
i f (params[i] != null) {
stmt.setObject(i + 1, params[i]);}
rows = stmt.executeUpdate();
追答
就这些语句,看不出问题,clean 一下工程试试吧。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式