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
答案 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}}是一个数据行,而不是字符串!)。
即使在您的示例中,您只有一个字段(即一列),更通用的解决方案可能包括通过在列内循环而在行内循环并使用您首选的列/行分隔符构建字符串来序列化整个表。