用于ms访问的vb.net 2008插入命令未显示任何错误但未插入表中

时间:2013-11-26 08:10:39

标签: vb.net insert ms-access-2007

我编写了一些代码将表单数据插入到ms access数据库中 它运行成功,没有错误 但是当我在数据库中看到时,我发现数据库中没有插入数据。 问题是什么? 所以伙计们,请帮助我。

这是我的vb.net代码:

Private Sub btnCreateUser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreateUser.Click
        Dim con2 As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OfficeAutomationSystem.accdb; Persist Security Info=False")
        Dim cmd As New OleDb.OleDbCommand
        If Not con2.State = ConnectionState.Open Then
            con2.Open()
        End If
        cmd.Connection = con2
        'add data to table
        cmd.CommandText = "INSERT INTO tblUser(emp_id, user_id, pwd, user_type) " & _
                            " values(" & Me.cbEmpId.SelectedItem & ", '" & Me.txtUserId.Text & "','" & _
                            Me.txtPassword.Text & "', '" & Me.cbUserType.SelectedItem & "')"
        cmd.ExecuteNonQuery()
        MsgBox("running")
End Sub

这是ms access数据库的数据库结构:

field name                    dataYpe
serial_no                     AutoNumber
emp_id                        Number
user_id                       Text
pwd                           Text
user_type                     Text

提前致谢。

1 个答案:

答案 0 :(得分:0)

您是否可以尝试执行此代码并告诉我它是否有效

Private Sub btnCreateUser_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCreateUser.Click
    Dim con2 As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OfficeAutomationSystem.accdb; Persist Security Info=False")
    Dim cmd As New OleDb.OleDbCommand
    If Not con2.State = ConnectionState.Open Then
        con2.Open()
    End If
    cmd.Connection = con2
    'add data to table
    cmd.CommandText = "INSERT INTO tblUser(emp_id, user_id, pwd, user_type) " & _
                        " values(" & Convert.ToInt32(Me.cbEmpId.SelectedItem) & ", '" & Me.txtUserId.Text & "','" & _
                        Me.txtPassword.Text & "', '" & Me.cbUserType.SelectedItem & "')"
    cmd.ExecuteNonQuery()
    MsgBox("running")
End Sub