读书人

初学者有关问题:怎么读取 DataTable的

发布时间: 2012-02-08 19:52:21 作者: rapoo

菜鸟问题:如何读取 DataTable的表里的数据
Dim DB_Conn As New SqlClient.SqlConnection( "连接字符 ")
Dim DB_DataAdapter As New SqlClient.SqlDataAdapter
Dim TB_Show As New DataTable
Dim Tr_Row As DataRow
DB_DataAdapter.SelectCommand = New SqlClient.SqlCommand _
( "select * from abc ", DB_Conn)
DB_DataAdapter.Fill(TB_Show)

这样生成一个 Tb_Show

是不是 一定要用 for each Tb_row in tb_show
通过 tb_row 才能把 tb_show 里的数据读取出来

还是有直接的办法




[解决办法]
因为 DataTable 存储的是集合数据(有点象数组),自然要便利,遍历当然有很多方法了

foreach 只是一种,切内部还是 使用 while + Enumerator 完成

for 循环也可以 (C# Style)

for(int i = 0; i < tbl.Rows.Count; i++) {
tbl.Rows[i][列名]
}


[解决办法]
输出到界面上,还可以使用 DataGrid 之类的控件绑定,

当然,其内部其实也是遍历,只是由控件帮我们代劳而已了
[解决办法]
Dim DB_Conn As New SqlClient.SqlConnection( "连接字符 ")
Dim DB_DataAdapter As New SqlClient.SqlDataAdapter
'Dim TB_Show As New DataTable
'Dim Tr_Row As DataRow
dim ds as new dataset
DB_DataAdapter.SelectCommand = New SqlClient.SqlCommand _
( "select * from abc ", DB_Conn)
DB_DataAdapter.Fill(ds, "tmptable ")
return ds


aspx.vb:

dim dt as datatable=ds.tables(0)
for i as integer=0 to dt.rows.count-1
response.write(dt.rows(i)( "字段名 ")& " <br> ")
next
[解决办法]
读取 DataTable的表里的数据建议使用DATAVIEW对象.
[解决办法]
Dim dt1 As DataTable = dFahrenheit.Tables( "ParamData ")
Dim row As DataRow = dt1.NewRow

Dim str As String = String.Empty
For Each row In dt1.Rows

For i As Integer = 0 To row.ItemArray.Length - 1
str = str & (row.ItemArray(i).ToString)
str = str & ", "
Next
Next
str = str.Remove(Len(str) - 1, 1)


'Dim ds As DataSet
'Dim dt2 As DataTable = New DataTable( "tableSample2 ")
'For i As Integer = 0 To 4
' dt2.Columns.Add( "COL " & i, Type.GetType( "System.String "))
'Next

' 'For i As Integer = 0 To 4
'Dim dr As DataRow = dt.NewRow
'For j As Integer = 0 To 4
' dr(j) = str
'Next
'dt2.Rows.Add(dr)
' 'Next
'ds.Tables.Add(dt)

'Return ds

读书人网 >VB Dotnet

热点推荐