我要做的是在我的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
答案 0 :(得分:0)
我认为您的问题在于使用CurrentCell的属性Selected。这是一个布尔值,它不是该单元格的内容。 我会使用这种代码与参数化查询和围绕一次性对象的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块时自动完成(同样在例外的情况下)