首页 新闻 搜索 专区 学院

关于 DataReader 封装的问题

0
悬赏园豆:50 [已解决问题] 解决于 2008-09-28 16:25

我想将 DataReader 封装入我的 DbHelper 类中,代码如下:

public OleDbDataReader GetDataReader(string cmdText)
{
OleDbCommand cmd
= new OleDbCommand(cmdText, dbConnection);
//using (dbConnection)
//{
if (dbConnection.State.Equals(ConnectionState.Closed)) dbConnection.Open();
OleDbDataReader rdr
= cmd.ExecuteReader();
rdr.Read();
if (rdr.HasRows())
{
return rdr;
}
else
{
return null;
}
//rdr.Close();
//dbConnection.Close();
//}
}

请注意我注销调的部分。
在返回rdrZ之前是不能关闭数据库连接的,但这样IIS进程是否会一直连着数据库,如果同时访问人数增加,会有什么影响?

burning的主页 burning | 初学一级 | 园豆:0
提问于:2008-09-28 15:44
< >
分享
最佳答案
1

你应该使用ExecuteReader的重载方法,ExecuteReader(CommandBehavior.CloseConnection),此方法会在reader关闭之后自动关闭数据库连接

Gray Zhang | 专家六级 |园豆:17610 | 2008-09-28 15:46
其他回答(1)
0

同楼上 !然后释放的时候直接调用 rdr.Close()

Allie | 园豆:707 (小虾三级) | 2008-09-28 15:48
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册