首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

初学者有关问题:怎么读取 DataTable的表里的数据

2012-02-08 
菜鸟问题:如何读取 DataTable的表里的数据DimDB_ConnAsNewSqlClient.SqlConnection( 连接字符 )DimDB_Da

菜鸟问题:如何读取 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

热点排行