datatable转换
   DataTable dt = dl.ExecSqlReturnDataSet("tbl_employee", strSql).Tables[0];
            IList<EmployeeInfo> emplist = new List<EmployeeInfo>();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
            }datareader转换
IList<EmployeeInfo> emplist = new List<EmployeeInfo>();
  using(SqlDataReader dr = dl.ExecSqlReturnDataReader("tbl_employee", strSql))
 {
            
            while(dr.Read())
            {
            }
 }1.哪个性能好
2.using的好处?是用完datareader 后释放吗?

解决方案 »

  1.   

    1、按理说datareader性能更好,不过差别不大。
    2、using能保证对象在不需要时释放。
      

  2.   


    如果 100W以上的数据 datareader跟datatable的差别呢? 那datatable是不是也可以释放?
    using(DataTable dt = dl.ExecSqlReturnDataSet("tbl_employee", strSql).Tables[0])
      

  3.   

    有这么用using的吗...
    性能差别是微不足道的,在这个硬件很好很强大的年代里,这些差别忽略不计
      

  4.   

    当DATATABLE达到几百个的时,就重要了。