C#SqlDatereader问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 23:46:14
我在一个类中写了Sqldatareader 方法在调用的时候出错 错误见图
class DBSelectHelper
{
//datareader查询方法
public SqlDataReader getDataReader(string sql)
{
SqlCommand command = new SqlCommand(sql, DBHelper.connection);
DBHelper.connection.Open();
try
{
SqlDataReader reader = command.ExecuteReader();
return reader;
reader.Close();//这里警告是警告检测到无法访问的代码

}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
return null;
}
finally
{
DBHelper.connection.Close();
}
}
}

去掉reader.close,你在这并没有用sqldatareader做任何事

reader.Close();//这里警告是警告检测到无法访问的代码

这里去掉就行了。你都return了,后面的代码不会再运行了。

而是在调用这个方法的地方
using (SqlDataReader rdTable = getDataReader(sql)) {
//do something;
rdTable.Close();
}

这样就行了。

SqlDataReader reader = command.ExecuteReader();
return reader;
reader.Close();//这里警告是警告检测到无法访问的代码
应该是这里..你己经return reader了.
一个方法己经return 了他就会停止运行下面的代码所以检测到无法访问的代码

把关闭写到finnaly里面试试