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)
它會告訴我該查詢值的數量不匹配字段計數或類似的東西。
胡說!這是工作。我沒有意識到它正在複製到可執行文件的調試文件夾中。我正在使用源文件夾中的文件...謝謝! –