将DataReader转换为DataTable的一个函数

时间:2022-11-30 19:40:50
public static DataTable ConvertDataReaderToDataTable(IDataReader reader)
 {
  DataTable objDataTable = new DataTable();
 int intFieldCount = reader.FieldCount;
  for (int intCounter = 0; intCounter < intFieldCount; ++intCounter)
 {
 objDataTable.Columns.Add(reader.GetName(intCounter), reader.GetFieldType(intCounter));
  }

 
objDataTable.BeginLoadData();
  
object[] objValues = new object[intFieldCount];
 while (reader.Read())
{
reader.GetValues(objValues);
objDataTable.LoadDataRow(objValues, true);
}

reader.Close();
objDataTable.EndLoadData() ;

return objDataTable;
  }