jTable更新按钮并添加新内容

时间:2015-01-13 15:31:34

标签: java swing jdbc

以下是我的jFrame btn_update代码:

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;

当我尝试按下更新按钮时,我得到了这个:

  

java.sql.SQLException:参数索引超出范围(2>参数个数,为1)   有人能帮助我吗?

1 个答案:

答案 0 :(得分:2)

一些问题

  • 您的异常消息表明PreparedStatement只有2个参数。在设置参数
  • 之前分配变量
  • 复制/粘贴错误,其中参数3-6全部为Value1,而不是Value3Value4等。
  • executeQuery用于查询数据库。使用executeUpdate进行数据库写入操作

结果:

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