这是为了使用新数据更新表,但在执行以下代码时,它在 prepare语句中显示空指针异常。任何人都可以帮助找到我错的地方!
String a= jTextField1.getText();
String b= jTextField2.getText();
String c= jTextField3.getText();
String d= jTextField4.getText();
String e= jTextField5.getText();
String f= jTextField6.getText();
String g= jTextField7.getText();
String i= jTextField8.getText();
try {
String s2="update loginsys set
appointtype='"+a+"',appointname='"+b+"',appointh='"+c+"',
appointm='"+d+"',appointd='"+e+"',appointmo='"+f+"',appointy='"+g+"'where
username='"+f+"';";
PST=conn.prepareStatement(s2);
PST.setString(1,a);
PST.setString(2,b);
PST.setString(3,c);
PST.setString(4,d);
PST.setString(5,e);
PST.setString(6,f);
PST.setString(7,g);
PST.setString(8,f);
RS=PST.executeQuery();
if(RS.next()){
JOptionPane.showMessageDialog(null, "Appointment was fixed");
appointments.this.setVisible(false);
new list().setVisible(true);}
else
JOptionPane.showMessageDialog(null, "Appointment was not fixed");
答案 0 :(得分:0)
首先,请返回并阅读Using Prepared Statements
上的教程其次,将您的查询字符串更新为更像update loginsys set appointtype=?,appointname=?,appointh=?,appointm=?,appointd=?,appointmo=?,appointy=? where username=?
第三次使用executeUpdate
代替executeQuery
- 它将返回查询更新的行数