jTable 更新按钮并添加新的
jTable update button and add new
下面是我的 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:Parameter index out of Range (2>number of parameters, which is 1)
can someone help me?
几个问题
- 您的异常消息表明
PreparedStatement
只有 2 个参数。设置参数前赋值变量
- Copy/paste 错误,其中参数 3-6 都是
Value1
而不是 Value3
、Value4
等
executeQuery
用于查询数据库。使用 executeUpdate
进行数据库写入操作
结果:
preparesStatement = connection.prepareStatement(sql);
preparesStatement.setString(1, value1);
...// etc.
preparesStatement.setString(6, value6);
下面是我的 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:Parameter index out of Range (2>number of parameters, which is 1) can someone help me?
几个问题
- 您的异常消息表明
PreparedStatement
只有 2 个参数。设置参数前赋值变量 - Copy/paste 错误,其中参数 3-6 都是
Value1
而不是Value3
、Value4
等 executeQuery
用于查询数据库。使用executeUpdate
进行数据库写入操作
结果:
preparesStatement = connection.prepareStatement(sql);
preparesStatement.setString(1, value1);
...// etc.
preparesStatement.setString(6, value6);