做了一个数据库访问类,其中有个SqlDataReader访问方法,感觉有问题,麻烦各位高手看看
public SqlDataReader DataRead(string DataBaseCon,string RunSql)
{
SqlConnection myconn=new SqlConnection(DataBaseCon);
SqlCommand mycmd=new SqlCommand(RunSql,myconn);
myconn.Open();
return mycmd.ExecuteReader(CommandBehavior.CloseConnection);
}
调用方法
SqlDataReader ReadUserData=DataBase.DataRead(数据连接字段,"要执行的SQL语句");
ReadUserData.Read();
string PassWord=ReadUserData.GetString(0);
ReadUserData.Close();
但我总感觉不对,会不会我在调用端做了ReadUserData.Close();实际上根本没关得掉?或者产生了两个连接,关了一个,还有个没关得了?或者是假关闭,根本没真正关闭得了数据连接?
return mycmd.ExecuteReader(CommandBehavior.CloseConnection);到底返回的是一个数据连接,还是数据连接的映射?