【问题标题】:How can I update a row in a DataTable in VB.NET?如何在 VB.NET 中更新 DataTable 中的一行?
【发布时间】:2010-10-11 10:42:27
【问题描述】:

我有以下代码:

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

我想将strVerse 添加到当前行。

我做错了什么?

【问题讨论】:

    标签: vb.net datatable


    【解决方案1】:
    Dim myRow() As Data.DataRow
    myRow = dt.Select("MyColumnName = 'SomeColumnTitle'")
    myRow(0)("SomeOtherColumnTitle") = strValue
    

    上面的代码实例化了一个 DataRow。其中“dt”是一个数据表,您可以通过选择任何列来获得一行(我知道,听起来倒退)。然后你可以为你想要的任何列设置你想要的任何行的值(我选择了第一行,或“myRow(0)”)。

    【讨论】:

      【解决方案2】:

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

      要更新特定行的列,您可以通过名称或索引访问它。例如,您可以编写以下代码将“Foo”列更新为值 strVerse

      dtResult.Rows(i)("Foo") = strVerse
      

      【讨论】:

        【解决方案3】:

        您可以按索引、名称和一些other ways 访问列:

        dtResult.Rows(i)("columnName") = strVerse
        

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-01-12
          • 1970-01-01
          • 1970-01-01
          • 2013-03-17
          • 1970-01-01
          相关资源
          最近更新 更多