"This row already belongs to this table"



我已经在stackoverflow中阅读了现有的代码,但我仍然失去了如何解决这个问题。这一行已经属于这个表了。任何建议总是感激。它在我的命令按钮保存事件上出错。我列出了整个表单的代码,只是为了让您了解我在做什么。希望能有所帮助

Private Sub btnSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnSave.Click
    DataGridView1.EndEdit()
    Dim con As SqlConnection = CompDB.GetConnection
    Dim cmd As New System.Data.SqlClient.SqlCommand
    Dim SPgetStandards As String = "dbo.SPgetStandards"
    Dim SPgetRecordDetail As String = "dbo.SPgetRecordDetail"

    Dim dsStandard As New DataSet
    Dim dsRecords As New DataSet
    Dim currentrow As DataRow
    Dim currentcolumn As DataColumn

    MsgBox("Record id is " & RecordID)
    Using con
        con.Open()
        Dim Standardsdataadapter As New SqlClient.SqlDataAdapter(SPgetStandards, con)
        Dim Detaildataadapter As New SqlClient.SqlDataAdapter(SPgetRecordDetail, con)
        Detaildataadapter.Fill(dsRecords, "Record")
        Standardsdataadapter.Fill(dsStandard, "Standard")


        '5/31/13 
        'Figured out how to run a loop through a table and write to the console
        For Each currentrow In dsStandard.Tables("Standard").Rows
            For Each currentcolumn In dsStandard.Tables("Standard").Columns
                'Debug.WriteLine(currentrow(currentcolumn) & ControlChars.Tab & ControlChars.Tab)
                'MsgBox(currentcolumn.ToString)
                'Debug.WriteLine(currentrow.Item(0))
            Next currentcolumn
        Next currentrow
        ' con.Close()
        'con.Dispose()
        Dim newrow As DataRow = dsRecords.Tables("Record").NewRow
        For Each oRow As DataGridViewRow In DataGridView1.Rows
            If Convert.ToInt16(oRow.Cells("chkbox").Value) = 1 Then
                ' Debug.WriteLine("It was clicked ", DataGridView1.Columns.Item(1))
                Debug.WriteLine(oRow.Cells("ID").Value)
                'dsStandard.Tables.Add.Rows("RecordID") = 1234
                'dsRecords.Tables.Add.Rows("Standard_Name_ID") = 1234
                ' newrow("Record_Detail_ID") = RecordID
                '  newrow("Record_ID") = RecordID
                newrow("Standard_Name_ID") = (oRow.Cells("ID").Value)
 '/////Errors out here!!!!!dsRecords.Tables("Record").Rows.Add(newrow) '/////Errors out here!!!!!
                dsRecords.AcceptChanges()

            End If
        Next
    End Using


End Sub

移动这一行:

Dim newrow As DataRow = dsRecords.Tables("Record").NewRow

作为If块内的第一行

相关内容

最新更新