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)也没用
展开
 我来答
流星爱帆
2013-05-27 · 超过17用户采纳过TA的回答
知道答主
回答量:188
采纳率:0%
帮助的人:68万
展开全部
你字段就叫 number ,那不是数据库里面的关键字吗?建议你使用上面的语句执行一个简单的插入操作看看可以不。。。
追问
number和name 都是定义过的字符串
追答
我知道我是说你在建一个 test表里面就有id,name 两个字段,然后执行上面的语句把插入的值写死,看看能成功不,还有你别用count,直接写成 1.2.。。。。8
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友30bb719
2013-05-27 · TA获得超过348个赞
知道小有建树答主
回答量:310
采纳率:75%
帮助的人:216万
展开全部
调试一下count ,字段编号应该也是从0开始的,你把count设为-1试试。或者直接写0,1,...,8 。
追问
是从1开始的 改0没用
追答
额 ,那应该是id你是使用默认的。所以你的字段从1开始。  建议,好好的对应下语句中的字段和数据库中的字段,和值的类型是否全部对应上了。或者有可能你得到的数据有空,强行去插入非空字段。   只能慢慢排查了,不测试可能性,是有点难找到问题的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
心抱区区
2013-05-27 · TA获得超过152个赞
知道答主
回答量:208
采纳率:62%
帮助的人:25.2万
展开全部
int count=0,尝试了没?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式