Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ms-access/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从2012 vb.net向2013 ms access添加记录不工作_Vb.net_Ms Access_Visual Studio 2012_Textbox - Fatal编程技术网

从2012 vb.net向2013 ms access添加记录不工作

从2012 vb.net向2013 ms access添加记录不工作,vb.net,ms-access,visual-studio-2012,textbox,Vb.net,Ms Access,Visual Studio 2012,Textbox,我正在Visual Studio 2012中使用Visual Basic和2013 MS Access数据库创建工资单程序。在我的登录表单上,访问数据库以验证登录,这很好。在添加员工的表单上,我使用下面的代码通过文本框添加记录。我没有收到任何错误,但数据库从未使用新信息更新。有什么想法吗 Imports System.Data.OleDb Public Class AddDriver Private Sub CancelButton_Click(sender As Object, e

我正在Visual Studio 2012中使用Visual Basic和2013 MS Access数据库创建工资单程序。在我的登录表单上,访问数据库以验证登录,这很好。在添加员工的表单上,我使用下面的代码通过文本框添加记录。我没有收到任何错误,但数据库从未使用新信息更新。有什么想法吗

Imports System.Data.OleDb

Public Class AddDriver

    Private Sub CancelButton_Click(sender As Object, e As EventArgs) Handles CancelButton.Click
        Me.Close()
    End Sub

    Private Sub AddButton_Click(sender As Object, e As EventArgs) Handles AddButton.Click
        Dim ConnString As String = ("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=G:\TruckingDatabase.mdb;")
        Dim SqlString As String = "Insert Into Drivers (ID, LastName, FirstName, License, Birthdate, TruckType, StartDate, TruckOwner) Values (@ID, @LastNameEntry, @FirstNameEntry, @LicenseNumberEntry, @BirthDate, @TruckType, @StartDate, @Owner)"

        Using conn As New OleDbConnection(ConnString)
            Using cmd As New OleDbCommand(SqlString, conn)
                cmd.CommandType = CommandType.Text
                cmd.Parameters.AddWithValue("ID", ID.Text)
                cmd.Parameters.AddWithValue("LastName", LastNameEntry.Text)
                cmd.Parameters.AddWithValue("FirstName", FirstNameEntry.Text)
                cmd.Parameters.AddWithValue("License", LicenseNumberEntry.Text)
                cmd.Parameters.AddWithValue("TruckType", TruckType.Text)
                cmd.Parameters.AddWithValue("StartDate", StartDate.Text)
                cmd.Parameters.AddWithValue("TruckOwner", Owner.Text)
                conn.Open()
            End Using
        End Using
    End Sub

End Class

您需要执行@puropoix所说的查询,特别是
cmd.ExecuteNonQuery()
。另外,(1)CommandText中有8个参数占位符,但只添加了7个
.parameter
对象。(2) 如果ID是一个自动编号,那么您不希望将其包含在INSERT语句中,因为数据库引擎将为您处理它。谢谢您的帮助。通过添加cmd.ExecuteNonQuery()并添加缺少的参数,我可以让它正常工作。我没有使用AutoNumber,所以我在代码中留下了这个参数。