如何将数据表行转换为字符串

时间:2018-10-05 12:17:26

标签: sql database wpf vb.net datatable

Dim a As New ClsKoneksi
    Dim query As String
    query = "SELECT KodeBarang FROM Barang"
    dt = a.executequerydata(query)
    Dim names As New List(Of String)
        For i = 0 To dt.Rows.Count() - 1
            Dim brngname As String = Convert.ToString(dt.Rows(i))
            names.Add(brngname)
        Next
        For i = 0 To names.Count() - 1
            BARANGLIST.Items.Add(names(i).ToString)
        Next

尝试将值从数据表行插入到wpf组合框,然后 我尝试将数据表中的行转换为字符串,但它在brngname变量中产生了“ System.data.datarow”。如何将数据表中的行转换为字符串? enter image description here

2 个答案:

答案 0 :(得分:1)

不是将整个DataRow对象转换为字符串,而是从该行获取字段值:

Dim brngname As String = Convert.ToString(dt.Rows(i).Item("KodeBarang"))

names列表似乎多余:

Dim a As New ClsKoneksi
Dim query As String
query = "SELECT KodeBarang FROM Barang"
dt = a.executequerydata(query)

For i = 0 To dt.Rows.Count() - 1
    BARANGLIST.Items.Add(dt.Rows(i).Item("KodeBarang"))
Next

答案 1 :(得分:0)

您收到的错误是由于没有从System.data.datarow数据类型到string数据类型的可用转换,因此Covert.ToString函数无法执行此操作(请注意{ {1}}是一个数据行,而不是字符串!)。 即使在您的示例中,您只有一个字段(即一列),更通用的解决方案可能包括通过在列内循环而在行内循环并使用您首选的列/行分隔符构建字符串来序列化整个表。