日期:2014-05-20  浏览次数:20477 次

如何关闭这个数据库连接?
函数如下:
public   SqlDataReader   GetMemberInfo(int   intID)
{
//定义数据库查询语句
string   sql= "select   *   from   Members   where   id= "   +   intID;
//定义数据库的Connection   and   Command  
SqlConnection   myConnection   =   new   SqlConnection(SqlHelper.DBCONNECTIONSTRING);
SqlCommand   myCommand   =   new   SqlCommand(sql,myConnection);
//打开数据库连接
myConnection.Open();
//执行查询
SqlDataReader   dr   =   myCommand.ExecuteReader(CommandBehavior.CloseConnection);
//返回结果集
return   dr;
}


调用如下:
recu   =   user.GetMemberInfo(UserID);
if   (recu.Read())
    LabelUserTradeCode.Text   =   recu[ "MemNo "].ToString().Trim();
recu.Close();


函数返回的是SqlDataReader,如何在调用处关闭函数中打开的数据库连接呢?

谢谢!

------解决方案--------------------
recu.Close(); 的同时就会关闭连接
------解决方案--------------------
一般情况下如果你设置CommandBehavior.CloseConnection, SqlDataReader会在.Read()= false的时候关闭连接,但是有人说不保险,所有加recu.Close()是保险的做法, reader关闭的时候就会关闭connection.
------解决方案--------------------
你用了CommandBehavior.CloseConnection属性,就会自动关闭链接了嘛。
------解决方案--------------------
http://support.microsoft.com/kb/310369/zh-cn

http://msdn2.microsoft.com/zh-cn/library/system.data.commandbehavior(VS.80).aspx