0
private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {                                         
   String del_user = JOptionPane.showInputDialog(null,"Enter the Username To be deleted     :"  ,"Delete User !", JOptionPane.WARNING_MESSAGE);

   try {    
      stmt = con.createStatement(); 
      String quer = "delete from Udet where username='"+del_user+"'";
      rs=stmt.executeQuery(quer);

      int count=0; 
      while(rs.next())
      {
         count++;
     }

     if(count==1)
     {
        JOptionPane.showMessageDialog(null,"The user has been deleted");
     }

     else
     {
        JOptionPane.showMessageDialog(null,"No such User Exists");
     }

  } catch(Exception e){}


}        

查询执行良好!记录被删除,但 QUERYEXECUTION 后的行没有执行...... JOptionPane 将在 try 块之后工作,但随后将无法确定 count 的值......

4

1 回答 1

0

DELETE语句不返回 a ,ResultSet因此您应该使用该方法stmt.executeUpdate(quer);而不是stmt.executeQuery(quer);. 您可以查看从查询中删除了多少结果的一种方法是在使用该方法SELECT COUNT(*)之前和之后对表运行一个查询,该方法将两次返回一个包含表包含多少条记录的单个结果。在之前和之后运行它之后,您可以比较两个数字。结果可能是 a但您可以使用它从中获取。代码应如下所示:DELETEexecuteQuery()ResultSetDELETEStringint integer = Integer.parseInt(String);int

stmt = "SELECT COUNT(*) AS Count FROM table_name";
int initialSize = 0;
rs = stmt.executeQuery(stmt);
while(rs.next){
  initialSize = Integer.parseInt(rs.getString("Count");
}

运行DELETE查询,然后重复COUNT查询,将其传递给int一个新变量(对于这个答案,我称之为),因此所做newSize的更改数量为:DELETE

int changesMade = initialSize - newSize;
于 2014-07-09T14:47:58.013 回答