java中 数据库插入语句无法执行

sql="INSERTINTOkc(number,name,sdate,fdate,courseName,courseType,student,amount,introd... sql="INSERT INTO kc (number, name, sdate, fdate, courseName, courseType, student, amount, introduction) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);";
PreparedStatement ps=dataBase.getCon().prepareStatement(sql);
int count=1;
ps.setString(count++, number);
ps.setString(count++, name);
ps.setDate(count++, teachingResults.getSdate());
ps.setDate(count++, teachingResults.getFdate());
ps.setString(count++, teachingResults.getCourseName());
ps.setString(count++, teachingResults.getCourseType());
ps.setString(count++, teachingResults.getStudent());
ps.setString(count++, teachingResults.getAmount());
ps.setString(count++, teachingResults.getIntroduction());
ps.execute(sql);

报错
Stacktraces
com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '?, ?, ?, ?, ?, ?, ?, ?, ?)' at line 1
count确实是从1开始 之前查询语句也是这种写法没问题
也不是“;”的问题
ps.executeUpdate(sql)也没用
展开
 我来答
wudixiaochen00
2013-05-27 · TA获得超过2095个赞
知道小有建树答主
回答量:751
采纳率:100%
帮助的人:400万
展开全部
sql="INSERT INTO kc (number, name, sdate, fdate, courseName, courseType, student, amount, introduction) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);";



这里的问号,报错了,是个错的sql语句,肯定就存不进去啊

archyly
2013-05-27 · TA获得超过1318个赞
知道小有建树答主
回答量:389
采纳率:50%
帮助的人:428万
展开全部
int count=0;

 这么明显的错误。你这是从2开始的

ps.setString(count++, name); 这里的count++已经为2了。


去掉sql最后的分号


使用ps.executeUpdate();提交。这是关键

更多追问追答
追问
先执行后加
追答
ps.executeUpdate();
提交,你错用了ps.execute(sql);
PreparedStatement ps=dataBase.getCon().prepareStatement(sql);

看到了吗
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wang729356368
2013-05-27 · TA获得超过3236个赞
知道大有可为答主
回答量:1284
采纳率:60%
帮助的人:746万
展开全部

这里多了一个分号。

更多追问追答
追问
不是这个问题
追答
你那个count=1;然后第一个数的时候直接count++这里,
会不会是小标不对,导致后面存入数据类型都不对。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
班贝0ii
2013-05-27 · TA获得超过363个赞
知道答主
回答量:73
采纳率:0%
帮助的人:8.3万
展开全部
你把int count=1换成int count=0试试
追问
试过了 没用
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yangshichangww
2013-05-27
知道答主
回答量:26
采纳率:0%
帮助的人:15.4万
展开全部
是不是(?, ?, ?, ?, ?, ?, ?, ?, ?)这里多了个“;”号
追问
不是
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 4条折叠回答
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式