Results 1 to 3 of 3

Thread: Inserting records into an Access database with ADO.NET

  1. #1

    Thread Starter
    Member
    Join Date
    Mar 2003
    Posts
    47

    Inserting records into an Access database with ADO.NET

    Hi,

    I'm very simply trying to insert records into an Access DB using ADO.NET. I've tried the 2 following ways and both give me an "oledb.oledbexception" but no othewr info.

    The 1st method uses a command and executenonquery() method. The second uses a data adapter.

    Method 1
    Code:
            Dim conn As New OleDb.OleDbConnection()
            conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Richard\Account_Manager\Account_Manager.mdb"
            conn.Open()
            Debug.WriteLine("conn state:" & conn.State)
    
            Dim comm As New OleDb.OleDbCommand()
            comm.Connection = conn
            Debug.WriteLine(comm.Connection)
            comm.CommandText = "insert into Employee(name,position,status) values('name','position','status')"
            Debug.WriteLine(comm.CommandText)
            Try
                comm.ExecuteNonQuery()
                conn.Close()
            Catch ex As System.Exception
                Debug.WriteLine(ex.Message)
                Debug.WriteLine(ex.Source)
                Debug.WriteLine(ex.StackTrace)
    
            End Try

    Method 2
    Code:
            Dim conn As New OleDb.OleDbConnection()
            conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Richard\Account_Manager\Account_Manager.mdb"
            conn.Open()
            Debug.WriteLine("conn state:" & conn.State)
            Dim sql As String
            sql = "select * from employee"
            Dim da As New OleDb.OleDbDataAdapter(sql, conn)
    
            Dim ds As New DataSet()
            da.Fill(ds, "test")
    
            Dim dt As DataTable
            dt = ds.Tables("test")
    
            Dim commB As New OleDb.OleDbCommandBuilder(da)
            da.InsertCommand = commB.GetInsertCommand()
    
            Dim dr As DataRow
            dr = dt.NewRow
            dr.Item("name") = "name"
            dr.Item("position") = "position"
            dr.Item("status") = "status"
            dt.Rows.Add(dr)
            da.Update(ds, "test")
        End Sub

  2. #2
    Frenzied Member
    Join Date
    Oct 2002
    Location
    Gammapolis
    Posts
    1,474
    'Position' seems to be a reserved word. Change that column name, everything should work fine then.
    'Heading for the automatic overload'
    Marillion, Brave, The Great Escape, 1994

    'How will WE stand the FIRE TOMORROW?'
    Eloy, Silent Cries and Mighty Echoes, The Vision - Burning, 1979

  3. #3

    Thread Starter
    Member
    Join Date
    Mar 2003
    Posts
    47

    ...

    Much Thanks!!!


    Position was a keyword and that was the problem.


Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  



Click Here to Expand Forum to Full Width