1

你好

我遇到了一个我似乎无法解决的问题。

我有一个带有名为的表的数据库

客户 - 客户 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。虽然,我似乎无法找出如何解决这个问题。我离这里很远吗?这只是一个愚蠢的错误吗?

对不起,我的英语不是我的第一语言,也是我的代码,因为它非常业余。提前感谢你们的任何意见。

4

1 回答 1

2

要解决此问题,您必须运行“回滚”。

于 2014-02-16T18:29:53.670 回答