Public Function makeTableFromReader(ByVal reader As SqlDataReader) As DataSet Dim dataSet As dataSet = New dataSet Dim schemaTable As dataTable = reader.GetSchemaTable() Dim dataTable As dataTable = New dataTable Dim intCounter As Integer For intCounter = 0 To schemaTable.Rows.Count - 1 Dim dataRow As DataRow = schemaTable.Rows(intCounter) Dim columnName As String = CType(dataRow("ColumnName"), String) Dim column As DataColumn = New DataColumn(columnName, _ CType(dataRow("DataType"), Type)) dataTable.Columns.Add(column) Next dataSet.Tables.Add(dataTable) While reader.Read() Dim dataRow As DataRow = dataTable.NewRow() For intCounter = 0 To reader.FieldCount - 1 dataRow(intCounter) = reader.GetValue(intCounter) Next dataTable.Rows.Add(dataRow) End While Return dataSet End Function