resultSet 已经被关闭,或者是 resultSet 已经到末尾了,你可以在这个地方判断下看看是否关闭了
while(resultSet!=null&&resultSet.next()){
resultSet.deleteRow()
}
加上这个试试
这个好办。另写一个方法 delStu(String sno)。方法里将几个表里数据逐表删除。方法就写在你现在执行sql语句的位置。不知道你有没有学事务,如果有就装在一个事务里执行。祝愉快。简单实现代码如下:EmployeeDao.java
//删除数据
public boolean deleteEmployeeById(int id){
boolean result = false
try{
con = DBCon.getConn()
String sql = "delete from tb_employee where id=?"
pstmt = (PreparedStatement) con.prepareStatement(sql)
pstmt.setInt(1, id)
int i = pstmt.executeUpdate()
if(i == 1)
result = true
}catch(Exception e){
e.printStackTrace()
}finally{
try{
if(pstmt != null){
pstmt.close()
}
}catch(Exception e){
e.printStackTrace()
}
try{
if(con != null){
con.close()
}
}catch(Exception e){
e.printStackTrace()
}
}
return result
}
TestSql2.java
package com.sql.test
import com.sql.dao.EmployeeDao
public class TestSql02 {
public static void main(String[] args){
boolean result = EmployeeDao.getInstance().deleteEmployeeById(1)
if(result == true){
System.out.println("删除成功!")
}else{
System.out.println("删除失败!")
}
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)