+ -
当前位置:首页 → 问答吧 → 多人同时访问,出错

多人同时访问,出错

时间:2011-12-21

来源:互联网

以下是dbconn.cs的内容:


using System;
using System.Web;
using System.Data;
using System.Data.OracleClient;
using System.Collections;

namespace dbconn
{

public class DA
{
static OracleConnection m_conn = null ;

public DA()
{

}

public static DataTable 查询数据库( string 查询语句 )
{
OracleConnection myConnection = 创建连接() ;
DataTable dt = new DataTable() ;
OracleDataAdapter da = new OracleDataAdapter( 查询语句, myConnection ) ;
da.Fill( dt ) ;
myConnection.Close() ;
return dt ;
}



public static OracleConnection 创建连接()
{

if( m_conn == null )
  m_conn = new OracleConnection("user id=abc;data source=orasvr;password=123");
return m_conn ;
}

public static int 更新数据库( string 更新语句 )
{
OracleConnection Conn = 创建连接() ;
OracleCommand Comm = new OracleCommand( 更新语句, Conn ) ;
  OracleTransaction trans = null; 
   
int i = 0;

try
{
Comm.Connection.Open() ;
  trans = Conn.BeginTransaction();
  Comm.Transaction = trans;
i = Comm.ExecuteNonQuery() ;
  trans.Commit();
}
catch
{
  trans.Rollback();
  i = 0;
  //throw;
}
finally
{
Comm.Connection.Close() ;
}

return i ;
}






}


}




以下是调用页面的代码:
string SQL = "SELECT shdw FROM T_chukudan where no='" + no1 + "'";
DataTable dt ;
dt=DA.查询数据库(SQL);




一个人,同一时间,访问一个页面,没有问题,如果一个人或多个人,同时访问2个以上的页面,就会出现
数据库连接已关闭 的错误

我大概分析出来是什么原因,但是不知道怎么用C#语言来改
DA.查询数据库(SQL); 是静态的,大家共用的,第一个人查询完,需要关闭数据库连接的时候,第二个人再查询,就出错了。


作者: cqzd   发布时间: 2011-12-21

public static DataTable 查询数据库( string 查询语句 )
{
OracleConnection myConnection = 创建连接() ;
DataTable dt = new DataTable() ;
OracleDataAdapter da = new OracleDataAdapter( 查询语句, myConnection ) ;
da.Fill( dt ) ;
myConnection.Close() ;
return dt ;
}



好像数据库没有打开

作者: hewansongjuan   发布时间: 2011-12-21

相关阅读 更多

热门下载

更多