mysql - 更新数据表中的行

标签 mysql vb.net datatable row

我正在尝试根据其 ID 更新数据表中的一行。我插入的数据来自sql。我试图防止表中出现重复项,如果出现重复项,我想增加时间列。 这是我的代码。每当我执行它时,我都会收到此错误:附加信息:索引超出了数组的范围。在我看来,选择无法在数据表中找到正确的行。有什么建议么?

Dim listID As New List(Of Integer)
Dim dt As New DataTable
dt.Columns.Add("LOID")
dt.Columns.Add(New DataColumn("Correct", GetType(Integer)))
dt.Columns.Add(New DataColumn("Times", GetType(Integer)))

For Each dr As DataRow In ds.Tables(0).Rows
    If Not listID.Contains(dr.Item("LOID")) Then
        'check if its correct
        Dim answerCorrect As Integer
        If dr.Item("Correct") = 1 Then
            answerCorrect = 1
        Else
            answerCorrect = 0
        End If
        'add new row
        listID.Add(dr.Item("LOID"))
        dt.Rows.Add(dr.Item("LOID"), answerCorrect, 1)
    Else
        'update table set times plus 1
        Dim myRow() As Data.DataRow
        Dim rowName As String = "LOID = " & dr.Item("LOID")
        myRow = dt.Select(rowName)

        Dim timesLO As Integer = myRow(0)("Times")
        myRow(0)("Times") = timesLO
        'update table depending if the answer is correct
        If dr.Item("Correct") = 1 Then
            myRow(0)("Correct") = myRow(0)("Correct") + 1
        End If

    End If
Next

最佳答案

想通了! :)

我使用以下代码使用动态值在我的数据表中进行搜索

 myRow = dt.Select("LOID ='" & dr.Item("LOID") & "'")

关于mysql - 更新数据表中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36633472/

相关文章:

jquery - 数据表: fixed width for selected columns only

c# - 如何识别数据表的修改单元格?

vb.net - 解析日期时间

mysql - Yii2 MySQL如何防止重复select查询

php - 使用 php 和 jquery 将数组值添加到 mysql 数据库

PHP 行结果不重复

vb.net - 捕获 Datagridview 单元格按键事件

c# - 查找/消除重复字符串的方法

c# - 加入 DataTables 通过 LINQ 获取新的 DataTable

python - 如果使用长查询,pymysql 将返回错误