日期:2014-05-18  浏览次数:20692 次

JSP中数据库手动提交事务有错问题
请问我在数据库中设置手动提交事务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();}
}

------解决方案--------------------
不懂 学习