未执行给定查询的netbeans表示执行中出错

未执行给定查询的netbeans表示执行中出错,netbeans,Netbeans,抱歉,我知道这是一个愚蠢的问题,但请有人帮我处理查询部分。请让我知道最可能的查询部分有什么错误。有一个逻辑错误,您试图更新book_代码,但同时将其用作where子句中update语句的参考号。对于此类不会更新/更改的查询,应使用ID或唯一列 String s1=t1.getText();//book code integer String s2=t2.getText();//book name varchar String s3=t3.getText();//student name varc

抱歉,我知道这是一个愚蠢的问题,但请有人帮我处理查询部分。请让我知道最可能的查询部分有什么错误。

有一个逻辑错误,您试图更新book_代码,但同时将其用作where子句中update语句的参考号。对于此类不会更新/更改的查询,应使用ID或唯一列

String s1=t1.getText();//book code integer
String s2=t2.getText();//book name varchar
String s3=t3.getText();//student name varchar
String s4=t4.getText();//class varchar
String s5=t5.getText();//roll no varchar
String s6=t6.getText();//issue date varchar
String s7=t7.getText();//return date varchar
String sql="update lib set book_code ='"+s1+"' ,book_name ='"+s2+"' ,student_name='"+s3+"' ,class ='"+s4+"' ,roll_no ='"+s5+"' ,issue_date ='"+s6+"' ,return_date ='"+s7+"'   where book_code ='"+s1+"' ";
pst=con.prepareStatement(sql);
pst.execute();
JOptionPane.showMessageDialog(null,"the table has been updated");