2013-06-06 39 views
1

我已经阅读了现有的代码在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 

回答

0

移动这一行:

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

是你If块内的第一线。

+0

这实际上帮助没有错误,但是,我没有在我的数据库表中。所以,我还有其他不正确的东西。 – Plenahan

相关问题