读书人

急数据库相关有关问题百思不得其解

发布时间: 2011-12-24 23:03:24 作者: rapoo

急!数据库相关问题,百思不得其解!在线等
我想存一个表格到数据库里面去,使用循环语句,每次存入一行,但奇怪的是循环好像没有作用,及时执行循环每次还是只能存进去一行。
后来我又一行一行的存,表格每一行写一个SQL语句,并执行一次,即有多少行存多少次,但奇怪的是执行完第一条SQL语句便跳出这个方法了,在程序中加的“哨兵”显示的也是这个情况。
比如程序段 String SQL0= "............. "
System.out.println( "0 ");
st.executeQuery(SQL0);
System.out.println( "1 ");
String SQL1= "............. "
System.out.println( "2 ");
st.executeQuery(SQL1);
System.out.println( "3 ");
String SQL2= "............. "
System.out.println( "4 ");
st.executeQuery(SQL2);
System.out.println( "5 ");
上面执行后,数据库中只增加的SQL0对应的表格中的那一行,命令行也只输出“0”,就是说执行完st.executeQuery(SQL0)后程序就终止了,这是什么原因呢?



[解决办法]
事务是自动提交的 你要设置一下自动提交为false 执行多条sql之后 commit一下
[解决办法]
有个方法

setAutoCommit(false);

我既不清是哪个类的了

好像是那个连接对象
[解决办法]
就是说执行完st.executeQuery(SQL0)后程序就终止了,这是什么原因呢?
----
确定没有异常产生?
[解决办法]
你该把抛出的异常,和全部代码发上来。

这么点代码真的不好知道问题在哪里!

可能我水平不行吧
[解决办法]
setAutoCommit(false);后SQL语句执行完了后再commit一下才行的
你插入值的话用st.executeQuery不好吧,用st.executeUpdate
addBatch(SQL)这种属于批处理的方式,实际上原理和setAutoCommit(false);是一样的

读书人网 >J2SE开发

热点推荐