阅读器关闭时尝试调用read无效
//查询语句中字段为 * 时的通用方法。
private static List<Admin> GetAdminBySql(CommandType commandType, string commandText, params SqlParameter[] paras)
{
List<Admin> list = new List<Admin>();
using (SqlDataReader reader = DBHelper.ExecuteGetReader(commandType, commandText, paras))
{
while (reader.Read())
{
Admin admin = new Admin
{
Id = (int)reader["Id"],
LoginId = reader["LoginId"].ToString(),
LoginPwd = reader["LoginPwd"].ToString(),
Name = reader["Name"].ToString(),
Phone = reader["Phone"].ToString()
};
list.Add(admin);
}
}
return list;
------解决方案--------------------
改你的SqlHepler
或这选择返回DataTable的方法
写了直接报错哦
你写哪了?你用脑子想一想,直接写行吗?类型都不对,
using (DataTable xx = DBHelper.ExecuteGetTable(commandType, commandText, paras)
DBHelper.ExecuteGetTable里面定义返回DataTablle的方法,在ExecuteGetReader里面添加
DataTable x = new DataTable();
x.Load(datareader)
return x;
就能返回DataTable了,你明白了,吗???
------解决方案--------------------没有你加一个
public DataTable ExecuteGetTable(commandType, commandText, paras)
{
....这里跟ExecuteGetReader里面的代码类似,得到datareader 只是最后
DataTable x = new DataTable();
x.Load(datareader);
return x;
}