oledb error
-
hello i have build a database using MS ACCESS and write a coding in VB.NET to connect it as below
Imports System.Data.OleDb Public Class addItem Inherits System.Windows.Forms.Form Dim myconnection As New OleDbConnection("provider=microsoft.jet.oledb.4.0; datasource = Application.ExecutablePath + \LibrarySystem.mdb") Private Sub saveB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles saveB.Click myconnection.Open() Dim mycom As New OleDbCommand("INSERT INTO Product(product_code) VALUES ('" & productTb.Text & "')", myconnection) Dim MyReader As OleDbDataReader = mycom.ExecuteReader() mycom.ExecuteNonQuery() myconnection.Close() MyReader.Close() mycom.Dispose() End Sub
but when i click on the saveB button, the error below show up An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll which point to myconnection.Open() may i know what i did wrong? thank you in advance Gary -
hello i have build a database using MS ACCESS and write a coding in VB.NET to connect it as below
Imports System.Data.OleDb Public Class addItem Inherits System.Windows.Forms.Form Dim myconnection As New OleDbConnection("provider=microsoft.jet.oledb.4.0; datasource = Application.ExecutablePath + \LibrarySystem.mdb") Private Sub saveB_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles saveB.Click myconnection.Open() Dim mycom As New OleDbCommand("INSERT INTO Product(product_code) VALUES ('" & productTb.Text & "')", myconnection) Dim MyReader As OleDbDataReader = mycom.ExecuteReader() mycom.ExecuteNonQuery() myconnection.Close() MyReader.Close() mycom.Dispose() End Sub
but when i click on the saveB button, the error below show up An unhandled exception of type 'System.Data.OleDb.OleDbException' occurred in system.data.dll which point to myconnection.Open() may i know what i did wrong? thank you in advance GaryGaryKoh wrote: Dim myconnection As New OleDbConnection("provider=microsoft.jet.oledb.4.0; datasource = Application.ExecutablePath + \LibrarySystem.mdb") This is your connection string. So it actually evaluates the variable you put in it, shouldn't it look more like this:
Dim myconnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Application.ExecutablePath & "\LibrarySystem.mdb")
Better yet, assemble the path name to the database using the proper function:
Dim dbPath As String = Path.Combine(Application.ExecutablePath, "LibrarySystem.mdb")
Then use this to open you database:
Dim myconnection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath)
RageInTheMachine9532 "...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome