VB.NET Access数据库插入不插入数据?

VB.NET Access数据库插入不插入数据?,vb.net,excel,ms-access,insert,Vb.net,Excel,Ms Access,Insert,我试图在Access中的表中插入一行。该表名为Site,它有两列,SiteId(AutoNumber)和SiteName(Text)。出于测试目的,我从Excel工作表中获取了一个值,并尝试使用以下代码将该值插入SiteName列中 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim App As New Excel.

我试图在Access中的表中插入一行。该表名为Site,它有两列,SiteId(AutoNumber)和SiteName(Text)。出于测试目的,我从Excel工作表中获取了一个值,并尝试使用以下代码将该值插入SiteName列中

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim App As New Excel.Application
    Dim WB As Excel.Workbook = App.Workbooks.Open("C:\MyFile.xlsx")
    Dim WS As Excel.Worksheet = DirectCast(WB.Worksheets(2), Excel.Worksheet)
    App.Visible = False

    Dim Range As Excel.Range
    Range = WS.Range("A8")
    Dim cnn As New OleDbConnection(My.Settings.cnn)
    Dim cmd As New OleDbCommand("INSERT INTO Site(SiteName) VALUES(@SiteName)", cnn)
    cmd.Parameters.Add("@SiteName", OleDbType.Char).Value = Range.Value.ToString

    Try
        Using cmd.Connection
            cmd.Connection.Open()
            cmd.ExecuteNonQuery()
        End Using
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
即使我删除cmd.Parameters行,只输入像Values('Test')这样的直接值,它也不会进行插入。执行命令时,代码中没有错误。为什么价值观不起作用?我已经验证了从Excel表返回的数据,结果很好。我只是无法将它插入Access中的表中。连接也可以正常工作,因为如果我使用此插入

Dim cmd As New OleDbCommand("INSERT INTO Site VALUES(@SiteName)", cnn)
它会告诉我查询值的数量与字段计数或类似的内容不匹配。

插入值(至少在大多数情况下);)您是否曾经手动检查过mdb(在输出文件夹中!)的内容

是否已将mdb文件添加到项目中?转到文件的属性窗口,并将“复制到输出目录”设置为“从不”


通常,在添加文件时,会将其设置为“更新时复制”或“始终复制”。这意味着,无论何时在调试器中运行应用程序,项目目录中的mbd文件都会复制到debug/release文件夹,并覆盖已在其中的任何文件(以及存储记录的位置)。

Blah!它正在工作。我没有意识到它正在复制到可执行文件的调试文件夹中。我正在使用源目录中的文件。。。谢谢