C#关于SQLDATAREADER对象的READER方法的问题
我将数据库查询结果返回给了SqlDataReader对象sdr,现用sdr的Read()方法遍历了一次结果集,现我需要再次从结果集首行开始做一些工作,如何才能回到结果集的...
我将数据库查询结果返回给了SqlDataReader对象sdr,现用sdr的Read()方法遍历了一次结果集,现我需要再次从结果集首行开始做一些工作,如何才能回到结果集的首行呢。。。
展开
展开全部
你可以把sdr.Read()的集,放入DataTable
这样,就可以不再重复读SQL,大大提高效率
而且sdr.Read()装入DataTable后,可以释放了。这样,可以让SQL的压力减小。
经常有人数据库CPU 100%就是这样造成的。
public static DataTable Select(string sql)
{
CommandType ct = CommandType.Text;
DbDataReader rdr = DbHelper.ExecuteReader(ct, sql);
DataTable dt = new DataTable();
dt.Load(rdr);
rdr.Close();
rdr.Dispose();
return dt;
}
这样,就可以不再重复读SQL,大大提高效率
而且sdr.Read()装入DataTable后,可以释放了。这样,可以让SQL的压力减小。
经常有人数据库CPU 100%就是这样造成的。
public static DataTable Select(string sql)
{
CommandType ct = CommandType.Text;
DbDataReader rdr = DbHelper.ExecuteReader(ct, sql);
DataTable dt = new DataTable();
dt.Load(rdr);
rdr.Close();
rdr.Dispose();
return dt;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询