当前位置: 技术问答>java相关
这个jsp问题到底错在哪里啊,请大家帮检查一下!谢谢
来源: 互联网 发布时间:2017-04-25
本文导语: 我用的是本地ODBC-JDBC,测试数据库为ACCESS,以下为注册页中的部分代码。 sql="Insert INTO user(id,flag,nick,pws,pws_rp,pws_ok,email,name,sex,birthday,address,zip,tel,icq,oicq,homepage,province,city,work_type,work,qy_type,qygm,xueli,income,workinfo,mem,level,f...
我用的是本地ODBC-JDBC,测试数据库为ACCESS,以下为注册页中的部分代码。
sql="Insert INTO user(id,flag,nick,pws,pws_rp,pws_ok,email,name,sex,birthday,address,zip,tel,icq,oicq,homepage,province,city,work_type,work,qy_type,qygm,xueli,income,workinfo,mem,level,fan) VALUES('','1','"+bbs_reg_nick+"','"+o[0]+"','"+o[2]+"','"+o[3]+"','"+o[4]+"','"+o[5]+"','"+o[6]+"','"+o[25]+"','"+o[10]+"','"+o[11]+"','"+o[12]+"','"+o[13]+"','"+o[14]+"','"+o[15]+"','"+o[16]+"','"+o[17]+"','"+o[18]+"','"+o[19]+"','"+o[20]+"','"+o[21]+"','"+o[22]+"','"+o[23]+"','"+o[24]+"','','1','0')";
s.executeUpdate(sql);
但执行的时候报错:
“SQL错误:java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。 ”
sql="Insert INTO user(id,flag,nick,pws,pws_rp,pws_ok,email,name,sex,birthday,address,zip,tel,icq,oicq,homepage,province,city,work_type,work,qy_type,qygm,xueli,income,workinfo,mem,level,fan) VALUES('','1','"+bbs_reg_nick+"','"+o[0]+"','"+o[2]+"','"+o[3]+"','"+o[4]+"','"+o[5]+"','"+o[6]+"','"+o[25]+"','"+o[10]+"','"+o[11]+"','"+o[12]+"','"+o[13]+"','"+o[14]+"','"+o[15]+"','"+o[16]+"','"+o[17]+"','"+o[18]+"','"+o[19]+"','"+o[20]+"','"+o[21]+"','"+o[22]+"','"+o[23]+"','"+o[24]+"','','1','0')";
s.executeUpdate(sql);
但执行的时候报错:
“SQL错误:java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] INSERT INTO 语句的语法错误。 ”
|
呵呵,我插一句,请问你的id在数据库中是不是自动增加的?如果是自动增加的,那么,你的insert语句就错了。
|
你在程序中的这段语句后加一句 if(true) {out.println(sql); return;}
然后把打印出来的SQL语句拿到SQL SERVER 的QUERY ANALYZER 中去检查一下就知道错在哪里了
然后把打印出来的SQL语句拿到SQL SERVER 的QUERY ANALYZER 中去检查一下就知道错在哪里了
|
你仔细核对一下,好象值的数量比字段的数量多
|
记住,user是关键词,要这样使用:
insert into [user] (....) values(...)
insert into [user] (....) values(...)
|
user是Acess數據庫里的保留字.
因此建議不要用它作表名.
你將表名改成別的試試看.
因此建議不要用它作表名.
你將表名改成別的試試看.
|
所有的字段都是字符串型吗?
|
你这句里面有id, name ,level ,user都需要加上[]
|
数据表中的id定义的是什么类型,你把这个字段去掉试试!