2009-10-19 69 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