/// <summary> ///SqlDataReader turn into a DataTable///the source needs to be a result set/// </summary> /// <param name= "DataReader" ></param> /// <returns></returns> Private StaticDataTable convertdatareadertodatatable (SqlDataReader dataReader) {///Defining a DataTableDataTable datatable =NewDataTable (); Try { ///adding data columns to a table dynamically for(inti =0; i < Datareader.fieldcount; i++) {DataColumn mydatacolumn=NewDataColumn (); Mydatacolumn.datatype=Datareader.getfieldtype (i); Mydatacolumn.columnname=Datareader.getname (i); DataTable. Columns.Add (Mydatacolumn); } ///adding data to a table while(Datareader.read ()) {DataRow MyDataRow=DataTable. NewRow (); for(inti =0; i < Datareader.fieldcount; i++) {Mydatarow[i]=Datareader[i]. ToString (); } DataTable. Rows.Add (MyDataRow); MyDataRow=NULL; } ///Close the data readerDatareader.close (); returnDataTable; } Catch(Exception ex) {///Throw type Conversion error //Systemerror.createerrorlog (ex. Message); Throw NewException (ex. Message, ex); } }
SqlDataReader The result set into a DataTable