“THIS ROW ALREADY BELONGS TO THIS TABLE”

Lady Bird Johnson

Total Post:20

Points:140
Posted by  Lady Bird Johnson
 1865  View(s)
Ratings:
Rate this:
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.
  1. Sumit Kesarwani

    Post:378

    Points:2694
    Re: “This row already belongs to this table”

    Hi,


    Move this line:

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

    To be the first line inside of your If block.

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!