轻松将DataReader转换成DataTable

 在程序开发中,有时候需要用将DataReader转换成DataTable,我这里有一段代码供新手参考!
/// <summary>

/// 把DataReader转换成DataTable

/// </summary>

/// <param name="vDataReader">预转换的DataReader</param>

/// <returns>DataTable</returns>

public DataTable[] DataReaderToDataTables(OleDbDataReader vDataReader)

{

ArrayList TableArrayList 
= new ArrayList();

do

{

DataTable NewDataTable 
= new DataTable();

DataTable TableSchema 
= vDataReader.GetSchemaTable();

for(int i=1;i<=TableSchema.Rows.Count;i++

NewDataTable.Columns.Add(TableSchema.Rows[i
-1]〔"ColumnName"〕.ToString(), System.Type.GetType(TableSchema.Rows[i-1]〔"DataType"〕.ToString()));

while(vDataReader.Read()==true)

{

DataRow NewDataRow 
= NewDataTable.NewRow();

for(int i=1;i<=vDataReader.FieldCount;i++)

NewDataRow[i
-1= vDataReader[i-1];

NewDataTable.Rows.Add(NewDataRow);



TableArrayList.Add(NewDataTable);

}
while(vDataReader.NextResult()==true);

 

DataTable[] ReturnDataTable 
= new DataTable[TableArrayList.Count];

for(int i=1;i<=TableArrayList.Count;i++)

ReturnDataTable[i
-1= (DataTable)TableArrayList[i-1];

return ReturnDataTable;

}

posted on 2007-08-26 14:41  不懂  阅读(1357)  评论(4编辑  收藏  举报

导航