Java jTable更新按钮并添加新的

Java jTable更新按钮并添加新的,java,swing,jdbc,Java,Swing,Jdbc,以下是我的jFrame btn_更新代码: private void txt_updateActionPerformed(java.awt.event.ActionEvent evt) { try{ String Value1=txt_Emp_ID.getText(); String Value2=txt_Name.getText(); String Va

以下是我的jFrame btn_更新代码:

private void txt_updateActionPerformed(java.awt.event.ActionEvent evt) {                                           
    try{
        String Value1=txt_Emp_ID.getText();
        String Value2=txt_Name.getText();
        String Value3=txt_Surname.getText();
        String Value4=txt_age.getText();
        String Value5=txt_Username.getText();
        String Value6=txt_Password.getText();

        String sql = "update employee set Emp_ID=?, name=?,surname=?,age=?,username=?,password=?";           
        pst.setString(1, Value1);
        pst.setString(2, Value2);
        pst.setString(3, Value1);
        pst.setString(4, Value1);
        pst.setString(5, Value1);
        pst.setString(6, Value1);
        pst=conn.prepareStatement(sql);
        rs=pst.executeQuery();
        JOptionPane.showMessageDialog(null, "Updated!!");
    }catch(Exception e){
        JOptionPane.showMessageDialog(null, e);
    }
}                                    
以及我的配置:

Connection conn=null;
ResultSet rs = null;
PreparedStatement pst = null;
当我尝试按下更新按钮时,我得到以下信息:

SQLException:参数索引超出范围(2>参数数量,即1) 有人能帮我吗

几个问题

  • 异常消息表明
    PreparedStatement
    只有2个参数。在设置参数之前分配变量
  • 复制/粘贴错误,其中参数3-6都是
    Value1
    ,而不是
    Value3
    Value4
  • executeQuery
    用于查询数据库。对数据库写入操作使用
    executeUpdate
结果:

preparesStatement = connection.prepareStatement(sql);
preparesStatement.setString(1, value1);
...// etc.
preparesStatement.setString(6, value6);

1) 在设置参数之前,应该调用
conn.prepareStatement(sql)
。2) 您将
Value1
设置为准备语句中的所有参数,这可能不是您想要做的。我这样做了,现在我得到了以下错误:java.sql.SQLException:无法使用executeQuery()发出数据操作语句。请使用
int rows=pst.executeUpdate()