多人同时访问,出错
时间: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); 是静态的,大家共用的,第一个人查询完,需要关闭数据库连接的时候,第二个人再查询,就出错了。
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 ;
}
好像数据库没有打开
{
OracleConnection myConnection = 创建连接() ;
DataTable dt = new DataTable() ;
OracleDataAdapter da = new OracleDataAdapter( 查询语句, myConnection ) ;
da.Fill( dt ) ;
myConnection.Close() ;
return dt ;
}
好像数据库没有打开
作者: hewansongjuan 发布时间: 2011-12-21
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28