急!数据库相关问题,百思不得其解!在线等
我想存一个表格到数据库里面去,使用循环语句,每次存入一行,但奇怪的是循环好像没有作用,及时执行循环每次还是只能存进去一行。
后来我又一行一行的存,表格每一行写一个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);是一样的