forum

Home / DeveloperSection / Forums / “This row already belongs to this table”

“This row already belongs to this table”

Lady Bird Johnson301119-Jun-2013
Hi Expert,

I have got “This row already belongs to this table” error message. Any suggestions always is appreciated. It errors out on my command button save event. I've listed code for the entire form just to give you an idea on what I'm doing. Hope this helps

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")


        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


Any help on above is really appreciated.

Updated on 19-Jun-2013

Can you answer this question?


Answer

1 Answers

Liked By