首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

怎么一次删除多条记录

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

如何一次删除多条记录?
从一个表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(从数组中得到的数据,之间用“,”隔开,如果是字符串就加上单引号)

热点排行