首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

如何向有自动编号字段的表插入数据

2013-09-07 
怎么向有自动编号字段的表插入数据Access数据库5个字段 ExorIn Money Date Remark No ,No为自动编号下面是

怎么向有自动编号字段的表插入数据
Access数据库5个字段 ExorIn Money Date Remark No ,No为自动编号
下面是我写的插入数据的代码段
ssql = "INSERT INTO Data (ExorIn,Money,Date,Remark) VALUES(?,?,?,?)";
ps = con.prepareStatement(ssql);
try{
ps.setString(1, sei);
ps.setDouble(2, Double.parseDouble(text1.getText()));
ps.setString(3, Tdate.getText());
ps.setString(4, text2.getText());
ps.executeUpdate();
msg.setText("插入成功!");
text1.setText("");
text2.setText("");
Tdate.setText("");
}catch(Exception e2){
msg.setText("输入数据有误!");
text1.requestFocus();       
}
现在会一直输出“输入数据有误!”
之后我换成ssql = "INSERT INTO Data VALUES(?,?,?,?)";一切正常
我的SQL语句哪里有问题?
[解决办法]
No是主键,你的参数列表这一项没有No这一项啊,所以INSERT INTO Data (ExorIn,Money,Date,Remark) VALUES(?,?,?,?)这句本身语法就是错误的,当然不下正确,无论No是不是自动编号,这个参数是必不可少的。而INSERT INTO Data VALUES(?,?,?,?)实际上是(No,ExorIn,Money,Date,Remark) VALUES(?,?,?,?,?)的省写。
[解决办法]
是不是因为Date是关键字啊。
INSERT INTO Data (ExorIn,Money,Remark) VALUES(?,?,?)
这样再试试

热点排行