顺序调一下,后面那个遍历foreach 循环会有影响的。获取数据不慢,那就是那个循环慢
//执行sql语句获取存储过程集合
SqlDataAdapter adapter = new SqlDataAdapter(command);
DataSet ds = new DataSet();
adapter.Fill(ds);//关闭链接
connection.Close();//遍历返回集合
List<Dictionary<string, object>> resultList = new List<Dictionary<string, object>>();foreach (DataRow dr in ds.Tables[0].Rows)
{
Dictionary<string, object> dic = new Dictionary<string, object>();
foreach (DataColumn dc in dr.Table.Columns)
{
dic.Add(dc.ToString(), dr[dc]);
}
resultList.Add(dic);
}
return resultList;

解决方案 »

  1.   

    不是的。。不是循环的问题。。这个问题是在“adapter.Fill(ds);”这个地方。。超级慢的。。我平时用这个方面是没什么问题的。。我用这个来执行一个存储过程。。这个存储过程在数据库里面是秒查的。。但是到了这里就一直卡在填充表的这一步。。要卡20-30秒的样子。。然后才会出数据。。数据是正确的。。就好像在填充表这里进程有点像是延迟了一样。。
      

  2.   

    你用sqlprofiler 跟踪一下sql语句。看是否只执行了这一条语句,在把你执行的sql语句在查询分析器里面执行看是否慢