您的位置:首页 > 数据库

将sqldatareader转变成datatable的vb.net代码

2008-05-01 03:26 435 查看
Public Function GetTable(ByVal _reader As System.Data.SqlClient.SqlDataReader) As System.Data.datatable
On Error Resume Next
Dim _table As System.Data.datatable = _reader.GetSchemaTable()
Dim _dt As System.Data.datatable = New System.Data.datatable()
Dim _dc As System.Data.DataColumn
Dim _row As System.Data.DataRow
Dim _al As System.Collections.ArrayList = New System.Collections.ArrayList()
Dim i = 0
For i = 0 To _table.Rows.Count() - 1
_dc = New System.Data.DataColumn()
If (Not _dt.Columns.Contains(_table.Rows(i)("ColumnName").ToString())) Then
_dc.ColumnName = _table.Rows(i)("ColumnName").ToString()
_dc.Unique = Convert.ToBoolean(_table.Rows(i)("IsUnique"))
_dc.AllowDBNull = Convert.ToBoolean(_table.Rows(i)("AllowDBNull"))
_dc.ReadOnly = Convert.ToBoolean(_table.Rows(i)("IsReadOnly"))
_dc.ReadOnly = Convert.ToBoolean(_table.Rows(i)("IsReadOnly"))
_dc.ReadOnly = Convert.ToBoolean(_table.Rows(i)("IsReadOnly"))
_dc.ReadOnly = Convert.ToBoolean(_table.Rows(i)("IsReadOnly"))
_al.Add(_dc.ColumnName)
_dt.Columns.Add(_dc)
End If
Next
While _reader.Read()
_row = _dt.NewRow()
For i = 0 To _al.Count
_row(CStr(_al(i))) = _reader(CStr(_al(i)))
Next
_dt.Rows.Add(_row)
End While
Return _dt
End Function

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: