VB.Net/Database ADO.net/OleDb Adapter

Материал из VB Эксперт
Перейти к: навигация, поиск

Use OleDbDataAdapter to insert a row into Access database

Imports System
Imports System.Xml
Imports System.Xml.Schema
Imports System.IO
Imports System.Data.OleDb
Imports System.Data.rumon
Imports System.Data

Public Class MainClass
    
    Shared Sub Main()
        Dim dsUsers As New DataSet("Users")
        Try
            " Define a connection object
            Dim dbConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=Employee.mdb")
            " Create a data adapter to retrieve records from db
            Dim daUsers As New OleDbDataAdapter("SELECT ID, FirstName, LastName FROM Employee", dbConn)
            " Define each column to map
            Dim dcmUserID As New DataColumnMapping("ID", "EmployeeID")
            Dim dcmFirstName As New DataColumnMapping("FirstName", "FirstName")
            Dim dcmLastName As New DataColumnMapping("LastName", "LastName")
            " Define the table containing the mapped columns
            Dim dtmUsers As New DataTableMapping("Table", "Employee")
            dtmUsers.ColumnMappings.Add(dcmUserID)
            dtmUsers.ColumnMappings.Add(dcmFirstName)
            dtmUsers.ColumnMappings.Add(dcmLastName)
            " Activate the mapping mechanism
            daUsers.TableMappings.Add(dtmUsers)
            " Fill the dataset
            daUsers.Fill(dsUsers)
            " Declare a command builder to create SQL instructions
            " to create and update records.
            Dim cb As New OleDbCommandBuilder(daUsers)
            " Insert a new record in the DataSet
            Dim r As DataRow = dsUsers.Tables(0).NewRow()
            r("FirstName") = "Eddie"
            r("LastName") = "Robinson"
            dsUsers.Tables(0).Rows.Add(r)
            " Insert the record even in the database
            daUsers.Update(dsUsers.GetChanges())
            " Align in-memory data with the data source ones
            dsUsers.AcceptChanges()
            " Print successfully message
            Console.WriteLine("A new record has been" & _
              " added to the database.")
        Catch ex As Exception
            " Reject DataSet changes
            dsUsers.RejectChanges()
            " An error occurred. Show the error message
            Console.WriteLine(ex.Message)
        End Try
    End Sub
End Class

<A href="http://www.vbex.ru/Code/VBDownload/Employee.zip">Employee.zip( 7 k)</a>