如何关闭这个数据库连接?
函数如下:
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