2013-03-20 77 views
0

我知道這是簡單的,但我不能做到這一點或找到任何答案搜索谷歌。更新/編輯數據庫

我想更新/編輯數據。在數據庫服務器中,通過單擊顯示在我的DataGridView上的數據。

下面是我的子編輯,代碼不會自動將記錄提取到文本框。

Private Sub btnEdit_Click(ByVal sender As System.Object, 
    ByVal e As System.EventArgs) Handles btnEdit.Click 

    Dim transaction As SqlTransaction = Nothing 

    With New SqlConnection(connectionString) 
    Try 
     Call .Open() 
     transaction = .BeginTransaction() 
     With .CreateCommand() 
     .Transaction = transaction 
     .CommandText = "UPDATE [tbl_info] SET [Name][email protected] WHERE [ID][email protected];" 
     With .Parameters 
      .AddWithValue("ID", txtID.Text) 
      .AddWithValue("Name", txtName.Text) 
     End With 
     Call .ExecuteNonQuery() 
     Call transaction.Commit() 
     Call MessageBox.Show("has been update successfully") 
     End With 
    Catch ex As Exception 
     Call transaction.Rollback() 
     Call MessageBox.Show(ex.Message, "Error") 
    Finally 
     Call .Close() 
    End Try 
    End With 
    RefreshData() 

    Call txtID.Clear() 
    Call txtName.Clear() 
End Sub 
+0

你的connectionString是什麼? 您是否收到任何異常或錯誤?或者它只是沒有更新?它是什麼樣的SQL服務器? MS SQL服務器? – 2013-03-20 02:53:03

+0

以及我沒有得到任何錯誤。該代碼是工作。當然,我需要手動輸入id,只是爲了編輯顯示在我的gridview上的數據。 – newbie 2013-03-20 02:55:40

+0

請不要在全部大寫中發佈您的問題標題。這讓他們更難閱讀,這很煩人,並且被認爲是SHOUTING(這是粗魯的)。在正確的情況下發佈會讓您的問題更容易閱讀,並且會提高您獲得答案的機會。他們發明了Shift鍵是有原因的。 :-)請使用它。謝謝。 – 2013-03-20 02:57:01

回答

0

在ExecuteNonQuery行上,捕獲受影響的行數。

Dim rc As Integer = .ExecuteNonQuery() 

如果rc返回爲零,我們可以告訴查詢運行並且沒有發現任何更新。