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){}
}
QUERY EXECUTES FINE!记录被删除但是查询后的行不能执行... 在try块之后,JOptionPane将起作用,但是不会确定count的值......
答案 0 :(得分:0)
DELETE
语句不会返回ResultSet
,因此您应该使用方法stmt.executeUpdate(quer);
而不是stmt.executeQuery(quer);
。
从查询中删除了多少结果的一种方法是使用SELECT COUNT(*)
方法在DELETE
之前和之后对表进行executeQuery()
查询,这两次都会返回ResultSet
1}}包含一个包含表包含的记录数的结果。在DELETE
之前和之后运行它之后,您可以比较2个数字。
结果可能是String
,但您可以使用int 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;