没有新的行条目添加到访问后端

时间:2017-03-27 16:43:10

标签: sql vb.net

所以我创建了这个代码,它应该更新我的MS Access数据库中的Delivery表。代码运行正常,甚至说数据输入成功,但在检查数据库文件时没有新的行条目。

Public Class NewDelivery
Dim ds As New DataSet
Dim da As OleDb.OleDbDataAdapter
Dim con As New OleDb.OleDbConnection
Public Shared stxtboxsupsel As TextBox
Public Shared supnum As String
Public Shared dgvitems As DataGridView
Private Sub NewDelivery_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    DateTimePicker1.Format = DateTimePickerFormat.Custom
    DateTimePicker1.CustomFormat = "MM/dd/yyyy"
End Sub
Private Function OpenDBConnection()
    If My.Settings.DatabaseLoc = "" Then
        Dim directory As String = My.Computer.FileSystem.SpecialDirectories.MyDocuments
        Return "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & directory & "\IE156.mdb"
    Else
        Return "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & My.Settings.DatabaseLoc
    End If
End Function

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btnCancel.Click
    My.Forms.ManageInventory.Show()
    Me.Close()
End Sub
Private Sub btnSelSupp_Click(sender As Object, e As EventArgs) Handles btnSelSupp.Click
    My.Forms.SelectSupplier.Show()
    stxtboxsupsel = txtboxsupsel
End Sub

Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click
    con.ConnectionString = OpenDBConnection()
    con.Open()
    Dim sql As String = "INSERT INTO Delivery(ItemPurchDate,SupNum) VALUES (@ItemPurchDate,@SupNum)"
    Dim cmd As New OleDb.OleDbCommand(sql, con)
    cmd.Parameters.AddWithValue("@ItemPurchDate", DateTimePicker1.Text)
    cmd.Parameters.AddWithValue("@SupNum", supnum)
    con.Close()
    Me.Close()
    MsgBox("New Delivery Recorded")
End Sub

交付表有3列,即ItemPurchNum(主键和自动编号),ItemPurchDate(日期/时间)和SupNum(数字,与我的供应商表中的SupNum有多对一的关系)。

按照类似的代码,我在其他表单中添加新行没有任何问题。有关为什么它不会添加新行的任何想法?先感谢您!

1 个答案:

答案 0 :(得分:0)

感谢您的帮助。注意到我跳过一行cmd.ExecuteNonQuery(),现在它可以工作了!