Public Function convertDataReaderToDataSet(ByVal reader As SqlClient.SqlDataReader) As DataSet
2 Dim dataSet As DataSet = New DataSet
3 Dim dataRow As DataRow
4 Dim columnName As String
5 Dim column As DataColumn
6 Dim schemaTable As DataTable
7 Dim dataTable As DataTable
8
9 Do
10 ' Create new data table
11 schemaTable = reader.GetSchemaTable
12 dataTable = New DataTable
13 If Not IsDBNull(schemaTable) Then
14 ' A query returning records was executed
15 Dim i As Integer
16 For i = 0 To schemaTable.Rows.Count - 1
17 dataRow = schemaTable.Rows(i)
18 ' Create a column name that is unique in the data table
19 columnName = dataRow("ColumnName")
20 'Add the column definition to the data table
21 column = New DataColumn(columnName, CType(dataRow("DataType"), Type))
22 dataTable.Columns.Add(column)
23 Next
24 dataSet.Tables.Add(dataTable)
25
26 'Fill the data table we just created
27 While reader.Read()
28 dataRow = dataTable.NewRow()
29 For i = 0 To reader.FieldCount - 1
30 dataRow(i) = reader(i)
31 Next
32 dataTable.Rows.Add(dataRow)
33 End While
34 Else
35 'No records were returned
36 column = New DataColumn("RowsAffected")
37 dataTable.Columns.Add(column)
38 dataSet.Tables.Add(dataTable)
39 dataRow = dataTable.NewRow()
40 dataRow(0) = reader.RecordsAffected
41 dataTable.Rows.Add(dataRow)
42 End If
43 Loop While reader.NextResult()
44 Return dataSet
45 End Function
2 Dim dataSet As DataSet = New DataSet
3 Dim dataRow As DataRow
4 Dim columnName As String
5 Dim column As DataColumn
6 Dim schemaTable As DataTable
7 Dim dataTable As DataTable
8
9 Do
10 ' Create new data table
11 schemaTable = reader.GetSchemaTable
12 dataTable = New DataTable
13 If Not IsDBNull(schemaTable) Then
14 ' A query returning records was executed
15 Dim i As Integer
16 For i = 0 To schemaTable.Rows.Count - 1
17 dataRow = schemaTable.Rows(i)
18 ' Create a column name that is unique in the data table
19 columnName = dataRow("ColumnName")
20 'Add the column definition to the data table
21 column = New DataColumn(columnName, CType(dataRow("DataType"), Type))
22 dataTable.Columns.Add(column)
23 Next
24 dataSet.Tables.Add(dataTable)
25
26 'Fill the data table we just created
27 While reader.Read()
28 dataRow = dataTable.NewRow()
29 For i = 0 To reader.FieldCount - 1
30 dataRow(i) = reader(i)
31 Next
32 dataTable.Rows.Add(dataRow)
33 End While
34 Else
35 'No records were returned
36 column = New DataColumn("RowsAffected")
37 dataTable.Columns.Add(column)
38 dataSet.Tables.Add(dataTable)
39 dataRow = dataTable.NewRow()
40 dataRow(0) = reader.RecordsAffected
41 dataTable.Rows.Add(dataRow)
42 End If
43 Loop While reader.NextResult()
44 Return dataSet
45 End Function
'Programming' 카테고리의 다른 글
사용자정의 컨트롤 속성만들때 기본값 설정하는방법 (0) | 2008.03.20 |
---|---|
콤보박스 목록구성 방법 (0) | 2008.03.20 |
파포인트 콤보박스 목록 코드로 생성 (0) | 2008.03.07 |
리포트 팁 (0) | 2008.03.07 |
닷넷리포트 파라미터 생성 (0) | 2007.11.24 |