日期:2014-05-18  浏览次数:20743 次

如何一次删除多条记录?
从一个表select出多条记录,利用Checkbox选中要删除的记录。执行一次Delete可以全部删除吗?

------解决方案--------------------
批量删除 

一个PreparedStatement,可以把一个sql语句,变换参数多次执行,一次更新。
//批量新增、批量修改
PreparedStatement stmt = conn.prepareStatement(
"INSERT INTO Users VALUES(?,?,?)"
);
User[ ] users = ...;
for(int i=0; i<users.length; i++) {//变换参数执行多次
stmt.setInt(1, users[i].getName());
stmt.setInt(2, users[i].getAge());
stmt.setInt(3, users[i].getShape());
stmt.addBatch( );
}
int[ ] counts = stmt.executeBatch(); 
//删除数据
PreparedStatement prepstmt = conn.prepareStatement(
"DELETE FROM Users WHERE USERID=? "
);
User[ ] users = ...;
for(int i=0; i<users.length; i++) {//变换参数执行多次
prepstmt.setInt(1, users[i].getId());
prepstmt.addBatch( );
}
int[ ] counts = prepstmt.executeBatch(); 
prepstmt.close();
conn.close();

------解决方案--------------------
delete from tableName where id in(从数组中得到的数据,之间用“,”隔开,如果是字符串就加上单引号)