簡體   English   中英

通過VB.NET更新MYSQL記錄

[英]Updating MYSQL records via VB.NET

我想做的是在vb.net應用程序中執行基本的插入,刷新和更新mysql查詢。 刷新和插入工作完美,我唯一無法獲得的就是更新,誰能告訴我我做錯了嗎? 這是程序布局的圖片:

http://i.imgur.com/mHxKGrb.png

這是我的源代碼:

Private Sub KnightButton3_Click(sender As Object, e As EventArgs) Handles KnightButton3.Click
    cn = New MySqlConnection
    cn.ConnectionString = "my info"

    Try
        cn.Open()
        Dim query As String
        Dim command As MySqlCommand
        query = "UPDATE Refers.exploitsociety SET Refferals='" + refupdate.Text + "' WHERE Refferals='" + DataGridView1.CurrentCell.Selected + "';"
        command = New MySqlCommand(query, cn)
        cmd.ExecuteNonQuery()

    Catch ex As MySqlException
        MessageBox.Show(ex.Message)
    Finally
        cn.Dispose()
    End Try
    cn.Close()
End Sub

我覺得你的問題是在財產的使用所選的CurrentCell的。 這是一個布爾值,而不是該單元格的內容。 我將這種類型的代碼與參數化查詢以及圍繞一次性對象的using語句一起使用

Try
     query = "UPDATE Refers.exploitsociety " & _ 
             "SET Refferals=@refs " & _ 
             "WHERE Refferals=@oldrefs"

    Using cn = New MySqlConnection(".... connection string ....")
    Using command = New MySqlCommand(query, cn)
        cn.Open()
        command.Parameters.Add("@refs", MySqlDbType.Int32).Value = _
                               Convert.ToInt32(refupdate.Text)
        command.Parameters.Add("@oldrefs", MySqlDbType.Int32).Value = _
                Convert.ToInt32(DataGridView1.CurrentCell.Value.ToString())
        command.ExecuteNonQuery()
    End Using
    End Using
Catch ex As MySqlException
    MessageBox.Show(ex.Message)
End Try

請注意,使用using語句不需要關閉/釋放連接,因為這在代碼離開using塊時自動完成(在異常情況下)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM