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

JSP 怎么实现批量插入

2012-01-09 
JSP 如何实现批量插入?我现在要实现这么一个功能,同时要向数据库中插入多条数据,类似与工资录入我在网上也

JSP 如何实现批量插入?
我现在要实现这么一个功能,同时要向数据库中插入多条数据,类似与工资录入
我在网上也查了   说是用什么循环语句   过滤器   由于刚接触jsp   这么一说我也是不明白   希望那位高手可以把代码列出来让我看看   谢谢   (发现分不是想给多少就给多少的,刚来,所以不是很多   不好意思啊   )

[解决办法]
数据放在数组中,循环数组执行插入
[解决办法]
<input type= "text " name= "a1 ">
<input type= "text " name= "a2 ">
<input type= "text " name= "a3 ">
<input type= "text " name= "a4 ">
<input type= "text " name= "a5 ">

for (int i=1;i <5;i++){
String aa = request.getParameter( "a "+i);
String SQL = "INSERT INTO table (a) VALUES ( ' " + aa + " ') "
}
[解决办法]
PreparedStatement ps =
conn.prepareStatement( "INSERT into employees values (?, ?, ?) ");
for (n = 0; n < 100; n++) {
ps.setString(name[n]);
ps.setLong(id[n]);
ps.setInt(salary[n]);
ps.addBatch();
}
ps.executeBatch();

[解决办法]
/**批量处理
*/
public int[] executeBatch(String strTempSQL) throws Exception
{
int []nCount;
try
{
String strSQL[]=strTempSQL.split( "; ");
conn.setAutoCommit(false);
if(stmt==null)
{
stmt = conn.createStatement();
}
stmt.clearBatch();
for(int i=0;i <strSQL.length;i++)
{
stmt.addBatch(strSQL[i]);
}
nCount=stmt.executeBatch();
conn.commit();
conn.setAutoCommit(true);
}
catch(Exception e)
{
conn.rollback();
conn.setAutoCommit(true);
throw new Exception( "批处理出错,请检查你的SQL语句 ");
}

return nCount;
}
[解决办法]
循环得到数据在循环插入,也可以将所有的插入语句写在一个SQL语句里,然后一起来执行该SQL语句,一般来说,后者的执行效率要高。

热点排行