你好
我遇到了一个我似乎无法解决的问题。
我有一个名为
的数据库客户 - 客户ID(主键),名字,姓氏,地址, 邮编和性。它填充了512行。
我在VB中创建了一个小应用程序,您可以在其中填写包含该信息的表单,然后单击按钮注册新客户。以下是代码示例:
Private Sub save(ByRef SQLStatement As String)
If minConnection.State = ConnectionState.Closed Then
myConnection.Open()
End If
With minCommand
.CommandText = SQLStatement
.CommandType = CommandType.Text
.Connection = minConnection
.ExecuteNonQuery()
End With
MsgBox("Saved to Database", MsgBoxStyle.Exclamation, "Saved!")
myConnection.Close()
myConnection.Dispose()
End Sub
Private Sub cmdCustomer_Click(sender As Object, e As EventArgs) Handles cmdCustomer.Click
myConnection.Open()
If rbW.Checked = True Then
sex = "W"
Else
sex = "M"
End If
Dim newCustomer As String = ("insert into customer(CustomerID, Firstname, Surname, Address, Zipcode, Sex) VALUES(" & txtCustomerID.Text & ", '" & txtFirstname.Text & "', '" & txtSurname.Text & "', '" & txtAddress.Text & "', " & txtZipcode.Text & ", '" & sex & "')")
save(newCustomer)
End Sub
根据我的经验,这应该可以胜任,但由于某些原因,我无法在数据库中看到新条目。但是,如果我尝试使用相同的CustomerID创建新客户,则会收到类似Duplicate Entry
之类的错误消息。通过该消息,我知道应该插入数据。为了进一步测试,我使用sql语句创建了一个datagridview:Select * from customer
。 datagridview确实显示了我新注册的客户!
考虑到所有这些,我认为问题在于MySQL Workbench而不是我的代码甚至是Visual Basic。虽然,我似乎无法找到如何解决这个问题。我远在这儿吗?这只是一个愚蠢的错误吗?
请原谅我的英语,这不是我的第一语言,也是我的代码,因为它非常业余。提前感谢您提供的任何意见。
答案 0 :(得分:2)
要解决此问题,您必须运行'回滚'。