从2012 vb.net向2013 ms access添加记录不工作
我正在Visual Studio 2012中使用Visual Basic和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
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,所以我在代码中留下了这个参数。