2009-10-19 66 views
1

首先,我想问一下,是否可以在单击事件中通过linqtosql方法编辑多个记录? 我一直在试图做的是编辑表中具有相同帐号的所有名称。 我可以编辑,但只有一个名字已被编辑,其余不是,如果可能的话,我会非常感激,如果你愿意花时间和我一起解决这个问题。让我给你我使用的代码。如何使用linq to sql进行多个更新?

Private Sub Button2_Click(------------) Handles Button2.Click 

    Dim accnt As String 
    accnt = Textbox1.Text 
    Dim db As New memrecDataContext() 

    Dim editrecord = From mem In db.Table1s _ 
        Where mem.Account = accnt _ 
        Select mem 

    For Each mem In editrecord 
     mem.Name = Textbox2.Text 
     db.SubmitChanges() 
    Next 
    MsgBox("Update is Successfully Completed",MsgBoxStyle.Information) 

End Sub 

为什么这些代码只能在一个数据行中编辑记录? 您是否可以调试代码以编辑所有正在查询的具有相同帐号的记录?如果这对您是可能的。

回答

2

你打电话给SubmitChanges。您不需要这样做 - 只需进行所需的所有编辑,然后然后请致电SubmitChanges。我相信在循环中做它应该也是一样,但效率不高。以下是您的代码,并附上几条皱纹:

Private Sub Button2_Click(------------) Handles Button2.Click 

    Dim accnt As String = Textbox1.Text 
    Using db As New memrecDataContext() 
     Dim editrecord = From mem In db.Table1s _ 
         Where mem.Account = accnt _ 

     For Each mem In editrecord 
      mem.Name = Textbox2.Text 
     Next 
     db.SubmitChanges() 
    End Using 

    MsgBox("Update is Successfully Completed", MsgBoxStyle.Information)  
End Sub