不执行给定查询的netbeans表示执行错误

时间:2013-11-05 15:35:35

标签: netbeans

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");

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

1 个答案:

答案 0 :(得分:0)

存在逻辑错误,您正在尝试更新book_code,但同时您将其用作where子句中update语句的引用号。您应该使用ID或唯一列来进行这些不会更新/更改的查询。