VB.Net by API/System.Data/DataTableMapping

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

DataTableMapping.ColumnMappings.Add

<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
           Dim dbConn As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=Employee.mdb")
           Dim daUsers As New OleDbDataAdapter("SELECT ID, FirstName, LastName FROM Employee", dbConn)
           Dim dcmUserID As New DataColumnMapping("ID", "EmployeeID")
           Dim dcmFirstName As New DataColumnMapping("FirstName", "FirstName")
           Dim dcmLastName As New DataColumnMapping("LastName", "LastName")
           Dim dtmUsers As New DataTableMapping("Table", "Employee")
           dtmUsers.ColumnMappings.Add(dcmUserID)
           dtmUsers.ColumnMappings.Add(dcmFirstName)
           dtmUsers.ColumnMappings.Add(dcmLastName)
           daUsers.TableMappings.Add(dtmUsers)
           daUsers.Fill(dsUsers)
           Dim cb As New OleDbCommandBuilder(daUsers)
           Dim r As DataRow = dsUsers.Tables(0).NewRow()
           r("FirstName") = "Eddie"
           r("LastName") = "Robinson"
           dsUsers.Tables(0).Rows.Add(r)
           daUsers.Update(dsUsers.GetChanges())
           dsUsers.AcceptChanges()
       Catch ex As Exception
           dsUsers.RejectChanges()
           Console.WriteLine(ex.Message)
       End Try
   End Sub

End Class


 </source>


New DataTableMapping

<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 DoDataMappings(ByVal da As OleDbDataAdapter)
       Try
           " Define an array of column to map
           Dim dcmMappedColumns() As DataColumnMapping = { _
                     New DataColumnMapping("ID", "EmployeeID"), _
                     New DataColumnMapping("FirstName", "FirstName"), _
                     New DataColumnMapping("LastName", "LastName")}
           " Define the table containing the mapped columns
           Dim dtmUsers As New DataTableMapping("Table", "Employee", _
           dcmMappedColumns)
           " Activate the mapping mechanism
           da.TableMappings.Add(dtmUsers)
       Catch ex As Exception
           " An error occurred. Show the error message
           Console.WriteLine(ex.Message)
       End Try
   End Sub
   Shared Sub Main()
       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)
           Dim dsUsers As New DataSet("Employee")
           DoDataMappings(daUsers)
           " Fill the dataset
           daUsers.Fill(dsUsers)
           " Go through the records and print them using the mapped names
           Dim r As DataRow
           For Each r In dsUsers.Tables("Employee").Rows
               Console.WriteLine("ID: {0}, FirstName: {1}, LastName: {2}", r("EmployeeID"), r("FirstName"), r("LastName"))
           Next
       Catch ex As Exception
           " An error occurred. Show the error message
           Console.WriteLine(ex.Message)
       End Try
   End Sub

End Class


 </source>