我用用循环往数据库中插入数据,并在循环体内写了out.print()语句,我希望每插入一条记录,就out.print("插入记录完成");
问题是:
运行时,并没有插入一条,就out.print()一次,而是循环完毕后,才一起out.print了,怎么才能实现插入一条,就out.print一次?
无论有没有方法,都请大虾告知一声.....
问题是:
运行时,并没有插入一条,就out.print()一次,而是循环完毕后,才一起out.print了,怎么才能实现插入一条,就out.print一次?
无论有没有方法,都请大虾告知一声.....
------
代码如下:
for(int i=0;i<5;i++)
{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, str);
pstmt.executeUpdate();
out.print("插入记录完成!"+"<br>");
}
{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, str);
boolean su=pstmt.executeUpdate();
if(su){
out.print("插入记录完成!"+"<br>");
}else{
out.print("插入记录失败!"+"<br>");
} }
如果还不行有可能是你上面操作数据库的代码有问题,那就抛个异常看看.
{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, str); out.print("插入记录完成!"+"<br>");
}
pstmt.executeUpdate();
你这样试试
{
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, str);
out.print("插入记录完成!"+"<br>");
pstmt.executeUpdate(); }
--------
谢谢各位回帖,以上方法都试了,都不行啊贴出完整代码如下:<html>
<head><%
String readStr="啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊";
String sql="insert into quanwen(mytext)values(?)";
PreparedStatement pstmt=null;
Connection conn=null;
DataSource ds = null;
try{
InitialContext ctx=new InitialContext();
ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
conn = ds.getConnection();
for(int i=0;i<3;i++)
{
out.print("开始!"+"<br>");
pstmt=conn.prepareStatement(sql);
pstmt.setString(1, readStr);
pstmt.executeUpdate();
out.print("结束!"+"<br>");
} }
catch(Exception ex)
{
System.out.println("出现例外,信息是:"+ex.getMessage());
ex.printStackTrace();
}
finally
{
try{ pstmt.close(); conn.close();}catch(Exception e) {}
}
%>
</body>
</html>
========
还是不行啊,各种方法都试了,怎么还是不行呢?