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 后释放吗?
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 后释放吗?
2、using能保证对象在不需要时释放。
如果 100W以上的数据 datareader跟datatable的差别呢? 那datatable是不是也可以释放?
using(DataTable dt = dl.ExecSqlReturnDataSet("tbl_employee", strSql).Tables[0])
性能差别是微不足道的,在这个硬件很好很强大的年代里,这些差别忽略不计