JAVA SE连接ACCESS数据库无法插入新记录(主键问题)

时间:2021-10-31 21:44:43
主键是自动生成的,就是多加一条记录,主键自动+1

[Microsoft][ODBC Microsoft Access 驱动程序] 查询值的数目与目标字段中的数目不同。

我有6列,但是第一列是主键,因为主键我不知道怎么获取,
因为主键并不是我自己输入的,所以不知道咋办,

我贴下SQL代码


//插入数据库的SQL代码
String sql2="insert into customer values('?"+"','"+a_1+"','"+a_2+"','"+a_3+"','"+a_4+"','"+a_5+"')";


我是想通过JAVA se的界面,点击按钮插入数据到ACCESS数据库里面去。

请问怎么做?
我只要把主键这一行写上就行了,上面的问号代表主键,但是我不知道怎么写

我下面贴下功能代码

//定义数据库修改保存类
        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;
        }
        
        }

3 个解决方案

#1


sql语句改下就行了,多看看sql基本语法的书就行
String sql2="insert into customer (列1字段,列2字段……列5字段)values('"+a_1+"','"+a_2+"','"+a_3+"','"+a_4+"','"+a_5+"')";

#2


把所有列,除主键外都写出来。

String sql="insert into customer (列1字段,列2字段……列5字段)values('"+a1+"','"+a2+"+...+a_5+"')";

主键会自动增长。

#3


主键会自动增长,所以不用你插,不管他。楼上正解

#1


sql语句改下就行了,多看看sql基本语法的书就行
String sql2="insert into customer (列1字段,列2字段……列5字段)values('"+a_1+"','"+a_2+"','"+a_3+"','"+a_4+"','"+a_5+"')";

#2


把所有列,除主键外都写出来。

String sql="insert into customer (列1字段,列2字段……列5字段)values('"+a1+"','"+a2+"+...+a_5+"')";

主键会自动增长。

#3


主键会自动增长,所以不用你插,不管他。楼上正解