写了一段jdbc语言用来调用一个表里的数据然后逐行更新另一个表里的数据
程序如下:可是为什么不能够随着变量t的增加而逐行更新。
前辈大哥们帮帮忙!!!非常感谢!!!
for(t=0;t<=n;t++){
con.setAutoCommit(false);
toUpdate.addBatch("update jshtzgsb set yearn=(select year1 from jshtzb where ID='"+t+"') where ID='"+t+"'");
toUpdate.executeBatch();
con.commit();
con.setAutoCommit(true); }
程序如下:可是为什么不能够随着变量t的增加而逐行更新。
前辈大哥们帮帮忙!!!非常感谢!!!
for(t=0;t<=n;t++){
con.setAutoCommit(false);
toUpdate.addBatch("update jshtzgsb set yearn=(select year1 from jshtzb where ID='"+t+"') where ID='"+t+"'");
toUpdate.executeBatch();
con.commit();
con.setAutoCommit(true); }
楼主【kaixuan1983】截止到2008-07-25 16:00:13的历史汇总数据(不包括此帖):
发帖的总数量:14 发帖的总分数:290 每贴平均分数:20
回帖的总数量:34 得分贴总数量:5 回帖的得分率:14%
结贴的总数量:12 结贴的总分数:240
无满意结贴数:3 无满意结贴分:90
未结的帖子数:2 未结的总分数:50
结贴的百分比:85.71 % 结分的百分比:82.76 %
无满意结贴率:25.00 % 无满意结分率:37.50 %
楼主加油
干吗这样写?
直接con.commit();不就完了
老大你写得真有意思啊,呵呵。con.setAutoCommit(false);
for(t=0;t <=n;t++){
toUpdate.addBatch("update jshtzgsb set yearn=(select year1 from jshtzb where ID='"+t+"') where ID='"+t+"'");
} toUpdate.executeBatch();
con.commit();
batch是将所有的update语句,一次性成批更新.
想要一行一行的来,你就用PreparedStatement来做,效率也很高.要是想所有的都能成功更新.可以这样:
for(t=0;t <=n;t++){
con.setAutoCommit(false);
toUpdate.addBatch("update jshtzgsb set yearn=(select year1 from jshtzb where ID='"+t+"') where ID='"+t+"'");
}
toUpdate.executeBatch();
con.commit();
con.setAutoCommit(true);