如何在VB.NET中更新DataTable中的行?

Ang*_*Wat 9 vb.net datatable

我有以下代码:

Dim i As Integer = dtResult.Rows.Count
For i = 0 To dtResult.Rows.Count Step 1
    strVerse = blHelper.Highlight(dtResult.Rows(i).ToString, s)
    ' syntax error here
    dtResult.Rows(i) = strVerse 
Next
Run Code Online (Sandbox Code Playgroud)

我想strVerse在当前行中添加一个.

我究竟做错了什么?

Jar*_*Par 17

您遇到的问题是您正在尝试替换整个行对象.DataTable API不允许这样做.相反,您必须更新行对象的列中的值.或者向集合添加新行.

要更新特定行的列,可以按名称或索引访问该列.例如,您可以编写以下代码以将列"Foo"更新为值strVerse

dtResult.Rows(i)("Foo") = strVerse
Run Code Online (Sandbox Code Playgroud)


Ken*_*ing 6

您可以按索引,按名称和其他方式访问列:

dtResult.Rows(i)("columnName") = strVerse
Run Code Online (Sandbox Code Playgroud)

您可能应该确保DataTable首先有一些列...


vap*_*guy 5

Dim myRow() As Data.DataRow
myRow = dt.Select("MyColumnName = 'SomeColumnTitle'")
myRow(0)("SomeOtherColumnTitle") = strValue
Run Code Online (Sandbox Code Playgroud)

上面的代码实例化了一个DataRow.其中"dt"是一个DataTable,你可以通过选择任何列来获取一行(我知道,向后发声).然后你可以设置你想要的任何行的值(我选择第一行,或"myRow(0)"),无论你想要什么列.

  • 你是对的,我同时测试了它。我之前的评论不正确。 (2认同)