JAVA SE连接ACCESS数据库无法插入新记录(主键问题)
主键是自动生成的,就是多加一条记录,主键自动+1
[Microsoft][ODBC Microsoft Access 驱动程序] 查询值的数目与目标字段中的数目不同。
我有6列,但是第一列是主键,因为主键我不知道怎么获取,
因为主键并不是我自己输入的,所以不知道咋办,
我贴下SQL代码
Java code
//插入数据库的SQL代码
String sql2="insert into customer values('?"+"','"+a_1+"','"+a_2+"','"+a_3+"','"+a_4+"','"+a_5+"')";
我是想通过JAVA se的界面,点击按钮插入数据到ACCESS数据库里面去。
请问怎么做?
我只要把主键这一行写上就行了,上面的问号代表主键,但是我不知道怎么写
我下面贴下功能代码
Java code
//定义数据库修改保存类
public boolean updateSql()
{
try{
//从文本框中获取数据
customer cu2=new customer();
ColorTest ct1=new ColorTest();
connAccess.conn1();
con=connAccess.con;
int cuId = 0;
//获取自动增加的ID编号的方法
ps1=con.prepareStatement(ct1.getSql2());
/*ResultSet rs2=ps1.getGeneratedKeys();
while(rs2.next())
{
cuId=rs2.getInt(1);
}
ps1.setInt(1,cuId);
*/
ps1.executeUpdate();
return true;
}
catch(Exception sqle)
{
System.out.println(sqle.toString());
return false;
}
}
------解决方案--------------------sql语句改下就行了,多看看sql基本语法的书就行
String sql2="insert into customer (列1字段,列2字段……列5字段)values('"+a_1+"','"+a_2+"','"+a_3+"','"+a_4+"','"+a_5+"')";
------解决方案--------------------把所有列,除主键外都写出来。
String sql="insert into customer (列1字段,列2字段……列5字段)values('"+a1+"','"+a2+"+...+a_5+"')";
主键会自动增长。
------解决方案--------------------主键会自动增长,所以不用你插,不管他。楼上正解