VB.Net/Database ADO.net/OleDb Adapter

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

Use OleDbDataAdapter to insert a row into Access database

<source lang="vbnet"> 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


      </source>

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