SqlDataReader-------->DataTable

public static DataTable ConvertDataReaderToDataTable(SqlDataReader dataReader) 

DataTable datatable 
= new DataTable(); 
DataTable schemaTable 
= dataReader.GetSchemaTable(); 
//动态添加列 
try 


foreach(DataRow myRow in schemaTable.Rows) 

DataColumn myDataColumn 
= new DataColumn(); 
myDataColumn.DataType 
= myRow.GetType(); 
myDataColumn.ColumnName 
= myRow[0].ToString(); 
datatable.Columns.Add(myDataColumn); 
}
 
//添加数据 
while(dataReader.Read()) 

DataRow myDataRow 
= datatable.NewRow(); 
for(int i=0;i<schemaTable.Rows.Count;i++

myDataRow[i] 
= dataReader[i].ToString(); 
}
 
datatable.Rows.Add(myDataRow); 
myDataRow 
= null
}
 
schemaTable 
= null
dataReader.Close(); 
return datatable; 
}
 
catch(Exception ex) 

Error.Log(ex.ToString()); 
throw new Exception("转换出错出错!",ex); 
}
 

}
 


posted @ 2007-08-22 19:27  roboth  阅读(407)  评论(1编辑  收藏  举报