当前位置: 代码迷 >> ASP.NET >> DataTable.Load(SqlDataReader)和SqlDataAdapter.Fill()的区别,该怎么处理
  详细解决方案

DataTable.Load(SqlDataReader)和SqlDataAdapter.Fill()的区别,该怎么处理

热度:2979   发布时间:2013-02-25 00:00:00.0
DataTable.Load(SqlDataReader)和SqlDataAdapter.Fill()的区别
比如下面的:
public DataTable ExecuteQuery(string cmtText,CommandType ct)  
{  
  DataTable dt = new DataTable();  
  cmd = new SqlCommand(cmtText, GetConn());  
  cmd.CommandType = ct;  
  //关系sdr的同是将会关闭conn  
  using (sdr = cmd.ExecuteReader(CommandBehavior.CloseConnection))  
  {  
  dt.Load(sdr);  
  }  
  return dt;  
}
dt.Load(sdr)和我用SqlDataAdapter.Fill有什么区别?


------解决方案--------------------------------------------------------
Load 方法使用加载的IDataReader中的第一个结果集,并在成功完成后,将读取器的位置设置到下一个结果集(如果有)。 转换数据时,Load 方法使用与 DbDataAdapter.Fill 方法的转换规则相同的规则。
http://msdn.microsoft.com/zh-cn/library/7x8ccbsb
------解决方案--------------------------------------------------------
Adapter.Fill 底层是调用 Load 的
  相关解决方案