xiyurui

路靠自己走,也靠运气. 但能不能抓住运气靠自己的手. 所以.自己的手和自己的脚,是最值得依赖的. 少壮不努力,老大徒伤悲!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

将DataReader转换为DataTable的一个函数

Posted on 2006-02-10 10:00  晰雨的天空  阅读(1389)  评论(1)    收藏  举报

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;
  }


如果需要的话,columns的详细列属性还可以设置,比如IsDbNull等等。reader还有一个GetSchemaTable的方法,可以获得详细的列属性。