我今天在做递归的时候 发现出现这样的错误
“ 完成执行语句前已用完最大递归 100”
报错的地方时是
SqlDataReader Dr = DBHelp.GetReaderParm(Sql.ToString().Trim(), InValues);
while (Dr.Read())
{
list.Add(new { Name = Dr["CategoriesName"].ToString(), ID = Dr["CategoriesID"].ToString() });
} 原本换成datatable之类的算了,但是觉得datatble之类的读取性能始终比不上进datareader 所以比较不甘心的来问问是不是 while (Dr.Read())有读取次数限制还是怎么回事?如何如何解决呢???麻烦各位大哥解决一下 谢谢了
“ 完成执行语句前已用完最大递归 100”
报错的地方时是
SqlDataReader Dr = DBHelp.GetReaderParm(Sql.ToString().Trim(), InValues);
while (Dr.Read())
{
list.Add(new { Name = Dr["CategoriesName"].ToString(), ID = Dr["CategoriesID"].ToString() });
} 原本换成datatable之类的算了,但是觉得datatble之类的读取性能始终比不上进datareader 所以比较不甘心的来问问是不是 while (Dr.Read())有读取次数限制还是怎么回事?如何如何解决呢???麻烦各位大哥解决一下 谢谢了
我里面的方法是这样的
public static SqlDataReader GetReaderParm(string sql, params SqlParameter[] values)
{
SqlCommand cmd = new SqlCommand(sql, Connection);
cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.AddRange(values);
SqlDataReader reader = cmd.ExecuteReader();
return reader;
}
有什么问题吗