你好
我遇到了一个我似乎无法解决的问题。
我有一个带有名为的表的数据库
客户 - 客户 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-statement: 创建了一个 datagridview Select * from customer
。datagridview 确实显示了我新注册的客户!
考虑到这一切,我相信问题出在 MySQL Workbench 上,而不是我的代码甚至 Visual Basic。虽然,我似乎无法找出如何解决这个问题。我离这里很远吗?这只是一个愚蠢的错误吗?
对不起,我的英语不是我的第一语言,也是我的代码,因为它非常业余。提前感谢你们的任何意见。