0
我想插入一行到表我在访问。该表名为Site,它有两列,即SiteId(AutoNumber)和SiteName(Text)。出于测试目的,我一把抓起一个Excel工作表的值并试图将值与下面的代码的网站名称列...VB.NET Access DB插入不插入数据?
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线,只是把直值(如'测试')它不会插入。执行命令时,代码中没有错误。为什么价值不起作用?我已经验证了从Excel工作表返回的数据,并且工作正常。我只是无法将它插入到Access中的表中。该连接工作正常,以及因为如果我用这个插入...
Dim cmd As New OleDbCommand("INSERT INTO Site VALUES(@SiteName)", cnn)
它会告诉我该查询值的数量不匹配字段计数或类似的东西。
胡说!这是工作。我没有意识到它正在复制到可执行文件的调试文件夹中。我正在使用源文件夹中的文件...谢谢! –