请问我在数据库中设置手动提交事务conn.setAutoCommit(false)无法插入数据库,而把这句话去掉就能成功插入数据,请问为什么?(已经检查了好久了)
package coreservlet;
import java.sql.*;
public class DBConn {
public String sqlString;//查询语句
public String param[];//查询条件
public ResultSet result=null;//查询结果
public Connection conn;
//设置查询参数
public void setParam(String[] param)
{this.param=param;}
//设置SQL查询语句
public void setQuerystatement(String sqlString)
{this.sqlString=sqlString;}//设置连接条件
public void setConnection(String driverName,String jdbcURL,String username,String password)throws Exception
{Connection conn1;
Class.forName(driverName);
conn1=DriverManager.getConnection(jdbcURL,username,password);
this.conn=conn1;
conn.setAutoCommit(false);//此句话设置后就无法插入数据
//数据插入
public void insertRecord() throws SQLException
{try{
PreparedStatement insert_stm=conn.prepareStatement(sqlString);
if(param!=null)
for(int i=0;i<=param.length;i++)
insert_stm.setString(i+1,param[i]);
insert_stm.executeUpdate();
conn.commit();
insert_stm.close();
conn.close();
}
catch(SQLException e)
{System.out.println(e);
conn.rollback();}
}