函数如下:
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,如何在调用处关闭函数中打开的数据库连接呢?谢谢!
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,如何在调用处关闭函数中打开的数据库连接呢?谢谢!
的同时就会关闭连接
======================
调用处还能read();吗?
recu.Close();
的同时就会关闭连接
============
您的意思是,现在就可以吗?不用加处理?因为这个rader有CommandBehavior.CloseConnection属性.
========================
不太明白,请解释下。
你在关闭datareader时就关闭了