'------------------------------------------------------------------------------
' <auto-generated>
'     This code was generated by a tool.
'     Runtime Version:2.0.50215.44
'
'     Changes to this file may cause incorrect behavior and will be lost if
'     the code is regenerated.
' </auto-generated>
'------------------------------------------------------------------------------

Option Strict Off
Option Explicit On

Imports System


<Serializable(),  _
 System.ComponentModel.DesignerCategoryAttribute("code"),  _
 System.ComponentModel.ToolboxItem(true),  _
 System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedDataSetSchema"),  _
 System.Xml.Serialization.XmlRootAttribute("NwindDataSet"),  _
 System.ComponentModel.Design.HelpKeywordAttribute("vs.data.DataSet"),  _
 System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Usage", "CA2240:ImplementISerializableCorrectly")>  _
Partial Public Class NwindDataSet
    Inherits System.Data.DataSet
    
    Private tableCategories As CategoriesDataTable
    
    Private tableCustomers As CustomersDataTable
    
    Private tableEmployees As EmployeesDataTable
    
    Private tableOrder_Details As Order_DetailsDataTable
    
    Private tableOrders As OrdersDataTable
    
    Private tableProducts As ProductsDataTable
    
    Private tableShippers As ShippersDataTable
    
    Private tableSuppliers As SuppliersDataTable
    
    Private relationOrdersOrder_Details As System.Data.DataRelation
    
    Private relationProductsOrder_Details As System.Data.DataRelation
    
    Private relationCustomersOrders As System.Data.DataRelation
    
    Private relationEmployeesOrders As System.Data.DataRelation
    
    Private relationShippersOrders As System.Data.DataRelation
    
    Private relationCategoriesProducts As System.Data.DataRelation
    
    Private relationSuppliersProducts As System.Data.DataRelation
    
    Private _schemaSerializationMode As System.Data.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
    
    <System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")>  _
    Public Sub New()
        MyBase.New
        Me.BeginInit
        Me.InitClass
        Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
        AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
        AddHandler MyBase.Relations.CollectionChanged, schemaChangedHandler
        Me.EndInit
    End Sub
    
    <System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")>  _
    Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
        MyBase.New(info, context)
        If (Me.IsBinarySerialized(info, context) = true) Then
            Me.InitVars(false)
            Dim schemaChangedHandler1 As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
            AddHandler Me.Tables.CollectionChanged, schemaChangedHandler1
            AddHandler Me.Relations.CollectionChanged, schemaChangedHandler1
            Return
        End If
        Dim strSchema As String = CType(info.GetValue("XmlSchema", GetType(String)),String)
        If (Me.DetermineSchemaSerializationMode(info, context) = System.Data.SchemaSerializationMode.IncludeSchema) Then
            Dim ds As System.Data.DataSet = New System.Data.DataSet
            ds.ReadXmlSchema(New System.Xml.XmlTextReader(New System.IO.StringReader(strSchema)))
            If (Not (ds.Tables("Categories")) Is Nothing) Then
                MyBase.Tables.Add(New CategoriesDataTable(ds.Tables("Categories")))
            End If
            If (Not (ds.Tables("Customers")) Is Nothing) Then
                MyBase.Tables.Add(New CustomersDataTable(ds.Tables("Customers")))
            End If
            If (Not (ds.Tables("Employees")) Is Nothing) Then
                MyBase.Tables.Add(New EmployeesDataTable(ds.Tables("Employees")))
            End If
            If (Not (ds.Tables("Order Details")) Is Nothing) Then
                MyBase.Tables.Add(New Order_DetailsDataTable(ds.Tables("Order Details")))
            End If
            If (Not (ds.Tables("Orders")) Is Nothing) Then
                MyBase.Tables.Add(New OrdersDataTable(ds.Tables("Orders")))
            End If
            If (Not (ds.Tables("Products")) Is Nothing) Then
                MyBase.Tables.Add(New ProductsDataTable(ds.Tables("Products")))
            End If
            If (Not (ds.Tables("Shippers")) Is Nothing) Then
                MyBase.Tables.Add(New ShippersDataTable(ds.Tables("Shippers")))
            End If
            If (Not (ds.Tables("Suppliers")) Is Nothing) Then
                MyBase.Tables.Add(New SuppliersDataTable(ds.Tables("Suppliers")))
            End If
            Me.DataSetName = ds.DataSetName
            Me.Prefix = ds.Prefix
            Me.Namespace = ds.Namespace
            Me.Locale = ds.Locale
            Me.CaseSensitive = ds.CaseSensitive
            Me.EnforceConstraints = ds.EnforceConstraints
            Me.Merge(ds, false, System.Data.MissingSchemaAction.Add)
            Me.InitVars
        Else
            Me.ReadXmlSchema(New System.Xml.XmlTextReader(New System.IO.StringReader(strSchema)))
        End If
        Me.GetSerializationData(info, context)
        Dim schemaChangedHandler As System.ComponentModel.CollectionChangeEventHandler = AddressOf Me.SchemaChanged
        AddHandler MyBase.Tables.CollectionChanged, schemaChangedHandler
        AddHandler Me.Relations.CollectionChanged, schemaChangedHandler
    End Sub
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Categories() As CategoriesDataTable
        Get
            Return Me.tableCategories
        End Get
    End Property
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Customers() As CustomersDataTable
        Get
            Return Me.tableCustomers
        End Get
    End Property
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Employees() As EmployeesDataTable
        Get
            Return Me.tableEmployees
        End Get
    End Property
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Order_Details() As Order_DetailsDataTable
        Get
            Return Me.tableOrder_Details
        End Get
    End Property
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Orders() As OrdersDataTable
        Get
            Return Me.tableOrders
        End Get
    End Property
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Products() As ProductsDataTable
        Get
            Return Me.tableProducts
        End Get
    End Property
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Shippers() As ShippersDataTable
        Get
            Return Me.tableShippers
        End Get
    End Property
    
    <System.ComponentModel.Browsable(false),  _
     System.ComponentModel.DesignerSerializationVisibility(System.ComponentModel.DesignerSerializationVisibility.Content)>  _
    Public ReadOnly Property Suppliers() As SuppliersDataTable
        Get
            Return Me.tableSuppliers
        End Get
    End Property
    
    Public Overrides Property SchemaSerializationMode() As System.Data.SchemaSerializationMode
        Get
            Return Me._schemaSerializationMode
        End Get
        Set
            Me._schemaSerializationMode = value
        End Set
    End Property
    
    <System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)>  _
    Public Shadows ReadOnly Property Tables() As System.Data.DataTableCollection
        Get
            Return MyBase.Tables
        End Get
    End Property
    
    <System.ComponentModel.DesignerSerializationVisibilityAttribute(System.ComponentModel.DesignerSerializationVisibility.Hidden)>  _
    Public Shadows ReadOnly Property Relations() As System.Data.DataRelationCollection
        Get
            Return MyBase.Relations
        End Get
    End Property
    
    <System.ComponentModel.DefaultValueAttribute(true)>  _
    Public Shadows Property EnforceConstraints() As Boolean
        Get
            Return MyBase.EnforceConstraints
        End Get
        Set
            MyBase.EnforceConstraints = value
        End Set
    End Property
    
    Protected Overrides Sub InitializeDerivedDataSet()
        Me.BeginInit
        Me.InitClass
        Me.EndInit
    End Sub
    
    Public Overrides Function Clone() As System.Data.DataSet
        Dim cln As NwindDataSet = CType(MyBase.Clone,NwindDataSet)
        cln.InitVars
        Return cln
    End Function
    
    Protected Overrides Function ShouldSerializeTables() As Boolean
        Return false
    End Function
    
    Protected Overrides Function ShouldSerializeRelations() As Boolean
        Return false
    End Function
    
    Protected Overrides Sub ReadXmlSerializable(ByVal reader As System.Xml.XmlReader)
        If (Me.DetermineSchemaSerializationMode(reader) = System.Data.SchemaSerializationMode.IncludeSchema) Then
            Me.Reset
            Dim ds As System.Data.DataSet = New System.Data.DataSet
            ds.ReadXml(reader)
            If (Not (ds.Tables("Categories")) Is Nothing) Then
                MyBase.Tables.Add(New CategoriesDataTable(ds.Tables("Categories")))
            End If
            If (Not (ds.Tables("Customers")) Is Nothing) Then
                MyBase.Tables.Add(New CustomersDataTable(ds.Tables("Customers")))
            End If
            If (Not (ds.Tables("Employees")) Is Nothing) Then
                MyBase.Tables.Add(New EmployeesDataTable(ds.Tables("Employees")))
            End If
            If (Not (ds.Tables("Order Details")) Is Nothing) Then
                MyBase.Tables.Add(New Order_DetailsDataTable(ds.Tables("Order Details")))
            End If
            If (Not (ds.Tables("Orders")) Is Nothing) Then
                MyBase.Tables.Add(New OrdersDataTable(ds.Tables("Orders")))
            End If
            If (Not (ds.Tables("Products")) Is Nothing) Then
                MyBase.Tables.Add(New ProductsDataTable(ds.Tables("Products")))
            End If
            If (Not (ds.Tables("Shippers")) Is Nothing) Then
                MyBase.Tables.Add(New ShippersDataTable(ds.Tables("Shippers")))
            End If
            If (Not (ds.Tables("Suppliers")) Is Nothing) Then
                MyBase.Tables.Add(New SuppliersDataTable(ds.Tables("Suppliers")))
            End If
            Me.DataSetName = ds.DataSetName
            Me.Prefix = ds.Prefix
            Me.Namespace = ds.Namespace
            Me.Locale = ds.Locale
            Me.CaseSensitive = ds.CaseSensitive
            Me.EnforceConstraints = ds.EnforceConstraints
            Me.Merge(ds, false, System.Data.MissingSchemaAction.Add)
            Me.InitVars
        Else
            Me.ReadXml(reader)
            Me.InitVars
        End If
    End Sub
    
    Protected Overrides Function GetSchemaSerializable() As System.Xml.Schema.XmlSchema
        Dim stream As System.IO.MemoryStream = New System.IO.MemoryStream
        Me.WriteXmlSchema(New System.Xml.XmlTextWriter(stream, Nothing))
        stream.Position = 0
        Return System.Xml.Schema.XmlSchema.Read(New System.Xml.XmlTextReader(stream), Nothing)
    End Function
    
    Friend Overloads Sub InitVars()
        Me.InitVars(true)
    End Sub
    
    Friend Overloads Sub InitVars(ByVal initTable As Boolean)
        Me.tableCategories = CType(MyBase.Tables("Categories"),CategoriesDataTable)
        If (initTable = true) Then
            If (Not (Me.tableCategories) Is Nothing) Then
                Me.tableCategories.InitVars
            End If
        End If
        Me.tableCustomers = CType(MyBase.Tables("Customers"),CustomersDataTable)
        If (initTable = true) Then
            If (Not (Me.tableCustomers) Is Nothing) Then
                Me.tableCustomers.InitVars
            End If
        End If
        Me.tableEmployees = CType(MyBase.Tables("Employees"),EmployeesDataTable)
        If (initTable = true) Then
            If (Not (Me.tableEmployees) Is Nothing) Then
                Me.tableEmployees.InitVars
            End If
        End If
        Me.tableOrder_Details = CType(MyBase.Tables("Order Details"),Order_DetailsDataTable)
        If (initTable = true) Then
            If (Not (Me.tableOrder_Details) Is Nothing) Then
                Me.tableOrder_Details.InitVars
            End If
        End If
        Me.tableOrders = CType(MyBase.Tables("Orders"),OrdersDataTable)
        If (initTable = true) Then
            If (Not (Me.tableOrders) Is Nothing) Then
                Me.tableOrders.InitVars
            End If
        End If
        Me.tableProducts = CType(MyBase.Tables("Products"),ProductsDataTable)
        If (initTable = true) Then
            If (Not (Me.tableProducts) Is Nothing) Then
                Me.tableProducts.InitVars
            End If
        End If
        Me.tableShippers = CType(MyBase.Tables("Shippers"),ShippersDataTable)
        If (initTable = true) Then
            If (Not (Me.tableShippers) Is Nothing) Then
                Me.tableShippers.InitVars
            End If
        End If
        Me.tableSuppliers = CType(MyBase.Tables("Suppliers"),SuppliersDataTable)
        If (initTable = true) Then
            If (Not (Me.tableSuppliers) Is Nothing) Then
                Me.tableSuppliers.InitVars
            End If
        End If
        Me.relationOrdersOrder_Details = Me.Relations("OrdersOrder Details")
        Me.relationProductsOrder_Details = Me.Relations("ProductsOrder Details")
        Me.relationCustomersOrders = Me.Relations("CustomersOrders")
        Me.relationEmployeesOrders = Me.Relations("EmployeesOrders")
        Me.relationShippersOrders = Me.Relations("ShippersOrders")
        Me.relationCategoriesProducts = Me.Relations("CategoriesProducts")
        Me.relationSuppliersProducts = Me.Relations("SuppliersProducts")
    End Sub
    
    Private Sub InitClass()
        Me.DataSetName = "NwindDataSet"
        Me.Prefix = ""
        Me.Namespace = "http://tempuri.org/NwindDataSet.xsd"
        Me.EnforceConstraints = true
        Me.tableCategories = New CategoriesDataTable
        MyBase.Tables.Add(Me.tableCategories)
        Me.tableCustomers = New CustomersDataTable
        MyBase.Tables.Add(Me.tableCustomers)
        Me.tableEmployees = New EmployeesDataTable
        MyBase.Tables.Add(Me.tableEmployees)
        Me.tableOrder_Details = New Order_DetailsDataTable
        MyBase.Tables.Add(Me.tableOrder_Details)
        Me.tableOrders = New OrdersDataTable
        MyBase.Tables.Add(Me.tableOrders)
        Me.tableProducts = New ProductsDataTable
        MyBase.Tables.Add(Me.tableProducts)
        Me.tableShippers = New ShippersDataTable
        MyBase.Tables.Add(Me.tableShippers)
        Me.tableSuppliers = New SuppliersDataTable
        MyBase.Tables.Add(Me.tableSuppliers)
        Me.relationOrdersOrder_Details = New System.Data.DataRelation("OrdersOrder Details", New System.Data.DataColumn() {Me.tableOrders.OrderIDColumn}, New System.Data.DataColumn() {Me.tableOrder_Details.OrderIDColumn}, false)
        Me.Relations.Add(Me.relationOrdersOrder_Details)
        Me.relationProductsOrder_Details = New System.Data.DataRelation("ProductsOrder Details", New System.Data.DataColumn() {Me.tableProducts.ProductIDColumn}, New System.Data.DataColumn() {Me.tableOrder_Details.ProductIDColumn}, false)
        Me.Relations.Add(Me.relationProductsOrder_Details)
        Me.relationCustomersOrders = New System.Data.DataRelation("CustomersOrders", New System.Data.DataColumn() {Me.tableCustomers.CustomerIDColumn}, New System.Data.DataColumn() {Me.tableOrders.CustomerIDColumn}, false)
        Me.Relations.Add(Me.relationCustomersOrders)
        Me.relationEmployeesOrders = New System.Data.DataRelation("EmployeesOrders", New System.Data.DataColumn() {Me.tableEmployees.EmployeeIDColumn}, New System.Data.DataColumn() {Me.tableOrders.EmployeeIDColumn}, false)
        Me.Relations.Add(Me.relationEmployeesOrders)
        Me.relationShippersOrders = New System.Data.DataRelation("ShippersOrders", New System.Data.DataColumn() {Me.tableShippers.ShipperIDColumn}, New System.Data.DataColumn() {Me.tableOrders.ShipViaColumn}, false)
        Me.Relations.Add(Me.relationShippersOrders)
        Me.relationCategoriesProducts = New System.Data.DataRelation("CategoriesProducts", New System.Data.DataColumn() {Me.tableCategories.CategoryIDColumn}, New System.Data.DataColumn() {Me.tableProducts.CategoryIDColumn}, false)
        Me.Relations.Add(Me.relationCategoriesProducts)
        Me.relationSuppliersProducts = New System.Data.DataRelation("SuppliersProducts", New System.Data.DataColumn() {Me.tableSuppliers.SupplierIDColumn}, New System.Data.DataColumn() {Me.tableProducts.SupplierIDColumn}, false)
        Me.Relations.Add(Me.relationSuppliersProducts)
    End Sub
    
    Private Function ShouldSerializeCategories() As Boolean
        Return false
    End Function
    
    Private Function ShouldSerializeCustomers() As Boolean
        Return false
    End Function
    
    Private Function ShouldSerializeEmployees() As Boolean
        Return false
    End Function
    
    Private Function ShouldSerializeOrder_Details() As Boolean
        Return false
    End Function
    
    Private Function ShouldSerializeOrders() As Boolean
        Return false
    End Function
    
    Private Function ShouldSerializeProducts() As Boolean
        Return false
    End Function
    
    Private Function ShouldSerializeShippers() As Boolean
        Return false
    End Function
    
    Private Function ShouldSerializeSuppliers() As Boolean
        Return false
    End Function
    
    Private Sub SchemaChanged(ByVal sender As Object, ByVal e As System.ComponentModel.CollectionChangeEventArgs)
        If (e.Action = System.ComponentModel.CollectionChangeAction.Remove) Then
            Me.InitVars
        End If
    End Sub
    
    Public Shared Function GetTypedDataSetSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
        Dim ds As NwindDataSet = New NwindDataSet
        Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
        Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
        xs.Add(ds.GetSchemaSerializable)
        Dim any As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
        any.Namespace = ds.Namespace
        sequence.Items.Add(any)
        type.Particle = sequence
        Return type
    End Function
    
    Public Delegate Sub CategoriesRowChangeEventHandler(ByVal sender As Object, ByVal e As CategoriesRowChangeEvent)
    
    Public Delegate Sub CustomersRowChangeEventHandler(ByVal sender As Object, ByVal e As CustomersRowChangeEvent)
    
    Public Delegate Sub EmployeesRowChangeEventHandler(ByVal sender As Object, ByVal e As EmployeesRowChangeEvent)
    
    Public Delegate Sub Order_DetailsRowChangeEventHandler(ByVal sender As Object, ByVal e As Order_DetailsRowChangeEvent)
    
    Public Delegate Sub OrdersRowChangeEventHandler(ByVal sender As Object, ByVal e As OrdersRowChangeEvent)
    
    Public Delegate Sub ProductsRowChangeEventHandler(ByVal sender As Object, ByVal e As ProductsRowChangeEvent)
    
    Public Delegate Sub ShippersRowChangeEventHandler(ByVal sender As Object, ByVal e As ShippersRowChangeEvent)
    
    Public Delegate Sub SuppliersRowChangeEventHandler(ByVal sender As Object, ByVal e As SuppliersRowChangeEvent)
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class CategoriesDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnCategoryID As System.Data.DataColumn
        
        Private columnCategoryName As System.Data.DataColumn
        
        Private columnDescription As System.Data.DataColumn
        
        Private columnPicture As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Categories"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property CategoryIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnCategoryID
            End Get
        End Property
        
        Public ReadOnly Property CategoryNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnCategoryName
            End Get
        End Property
        
        Public ReadOnly Property DescriptionColumn() As System.Data.DataColumn
            Get
                Return Me.columnDescription
            End Get
        End Property
        
        Public ReadOnly Property PictureColumn() As System.Data.DataColumn
            Get
                Return Me.columnPicture
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As CategoriesRow
            Get
                Return CType(Me.Rows(index),CategoriesRow)
            End Get
        End Property
        
        Public Event CategoriesRowChanged As CategoriesRowChangeEventHandler
        
        Public Event CategoriesRowChanging As CategoriesRowChangeEventHandler
        
        Public Event CategoriesRowDeleted As CategoriesRowChangeEventHandler
        
        Public Event CategoriesRowDeleting As CategoriesRowChangeEventHandler
        
        Public Overloads Sub AddCategoriesRow(ByVal row As CategoriesRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddCategoriesRow(ByVal CategoryName As String, ByVal Description As String, ByVal Picture() As Byte) As CategoriesRow
            Dim rowCategoriesRow As CategoriesRow = CType(Me.NewRow,CategoriesRow)
            rowCategoriesRow.ItemArray = New Object() {Nothing, CategoryName, Description, Picture}
            Me.Rows.Add(rowCategoriesRow)
            Return rowCategoriesRow
        End Function
        
        Public Function FindByCategoryID(ByVal CategoryID As Integer) As CategoriesRow
            Return CType(Me.Rows.Find(New Object() {CategoryID}),CategoriesRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As CategoriesDataTable = CType(MyBase.Clone,CategoriesDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New CategoriesDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnCategoryID = MyBase.Columns("CategoryID")
            Me.columnCategoryName = MyBase.Columns("CategoryName")
            Me.columnDescription = MyBase.Columns("Description")
            Me.columnPicture = MyBase.Columns("Picture")
        End Sub
        
        Private Sub InitClass()
            Me.columnCategoryID = New System.Data.DataColumn("CategoryID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCategoryID)
            Me.columnCategoryName = New System.Data.DataColumn("CategoryName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCategoryName)
            Me.columnDescription = New System.Data.DataColumn("Description", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnDescription)
            Me.columnPicture = New System.Data.DataColumn("Picture", GetType(Byte()), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPicture)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnCategoryID}, true))
            Me.columnCategoryID.AutoIncrement = true
            Me.columnCategoryID.AllowDBNull = false
            Me.columnCategoryID.Unique = true
            Me.columnCategoryName.MaxLength = 15
            Me.columnDescription.MaxLength = 536870910
        End Sub
        
        Public Function NewCategoriesRow() As CategoriesRow
            Return CType(Me.NewRow,CategoriesRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New CategoriesRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(CategoriesRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.CategoriesRowChangedEvent) Is Nothing) Then
                RaiseEvent CategoriesRowChanged(Me, New CategoriesRowChangeEvent(CType(e.Row,CategoriesRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.CategoriesRowChangingEvent) Is Nothing) Then
                RaiseEvent CategoriesRowChanging(Me, New CategoriesRowChangeEvent(CType(e.Row,CategoriesRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.CategoriesRowDeletedEvent) Is Nothing) Then
                RaiseEvent CategoriesRowDeleted(Me, New CategoriesRowChangeEvent(CType(e.Row,CategoriesRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.CategoriesRowDeletingEvent) Is Nothing) Then
                RaiseEvent CategoriesRowDeleting(Me, New CategoriesRowChangeEvent(CType(e.Row,CategoriesRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveCategoriesRow(ByVal row As CategoriesRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "CategoriesDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class CustomersDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnCustomerID As System.Data.DataColumn
        
        Private columnCompanyName As System.Data.DataColumn
        
        Private columnContactName As System.Data.DataColumn
        
        Private columnContactTitle As System.Data.DataColumn
        
        Private columnAddress As System.Data.DataColumn
        
        Private columnCity As System.Data.DataColumn
        
        Private columnRegion As System.Data.DataColumn
        
        Private columnPostalCode As System.Data.DataColumn
        
        Private columnCountry As System.Data.DataColumn
        
        Private columnPhone As System.Data.DataColumn
        
        Private columnFax As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Customers"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property CustomerIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnCustomerID
            End Get
        End Property
        
        Public ReadOnly Property CompanyNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnCompanyName
            End Get
        End Property
        
        Public ReadOnly Property ContactNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnContactName
            End Get
        End Property
        
        Public ReadOnly Property ContactTitleColumn() As System.Data.DataColumn
            Get
                Return Me.columnContactTitle
            End Get
        End Property
        
        Public ReadOnly Property AddressColumn() As System.Data.DataColumn
            Get
                Return Me.columnAddress
            End Get
        End Property
        
        Public ReadOnly Property CityColumn() As System.Data.DataColumn
            Get
                Return Me.columnCity
            End Get
        End Property
        
        Public ReadOnly Property RegionColumn() As System.Data.DataColumn
            Get
                Return Me.columnRegion
            End Get
        End Property
        
        Public ReadOnly Property PostalCodeColumn() As System.Data.DataColumn
            Get
                Return Me.columnPostalCode
            End Get
        End Property
        
        Public ReadOnly Property CountryColumn() As System.Data.DataColumn
            Get
                Return Me.columnCountry
            End Get
        End Property
        
        Public ReadOnly Property PhoneColumn() As System.Data.DataColumn
            Get
                Return Me.columnPhone
            End Get
        End Property
        
        Public ReadOnly Property FaxColumn() As System.Data.DataColumn
            Get
                Return Me.columnFax
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As CustomersRow
            Get
                Return CType(Me.Rows(index),CustomersRow)
            End Get
        End Property
        
        Public Event CustomersRowChanged As CustomersRowChangeEventHandler
        
        Public Event CustomersRowChanging As CustomersRowChangeEventHandler
        
        Public Event CustomersRowDeleted As CustomersRowChangeEventHandler
        
        Public Event CustomersRowDeleting As CustomersRowChangeEventHandler
        
        Public Overloads Sub AddCustomersRow(ByVal row As CustomersRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddCustomersRow(ByVal CustomerID As String, ByVal CompanyName As String, ByVal ContactName As String, ByVal ContactTitle As String, ByVal Address As String, ByVal City As String, ByVal Region As String, ByVal PostalCode As String, ByVal Country As String, ByVal Phone As String, ByVal Fax As String) As CustomersRow
            Dim rowCustomersRow As CustomersRow = CType(Me.NewRow,CustomersRow)
            rowCustomersRow.ItemArray = New Object() {CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax}
            Me.Rows.Add(rowCustomersRow)
            Return rowCustomersRow
        End Function
        
        Public Function FindByCustomerID(ByVal CustomerID As String) As CustomersRow
            Return CType(Me.Rows.Find(New Object() {CustomerID}),CustomersRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As CustomersDataTable = CType(MyBase.Clone,CustomersDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New CustomersDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnCustomerID = MyBase.Columns("CustomerID")
            Me.columnCompanyName = MyBase.Columns("CompanyName")
            Me.columnContactName = MyBase.Columns("ContactName")
            Me.columnContactTitle = MyBase.Columns("ContactTitle")
            Me.columnAddress = MyBase.Columns("Address")
            Me.columnCity = MyBase.Columns("City")
            Me.columnRegion = MyBase.Columns("Region")
            Me.columnPostalCode = MyBase.Columns("PostalCode")
            Me.columnCountry = MyBase.Columns("Country")
            Me.columnPhone = MyBase.Columns("Phone")
            Me.columnFax = MyBase.Columns("Fax")
        End Sub
        
        Private Sub InitClass()
            Me.columnCustomerID = New System.Data.DataColumn("CustomerID", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCustomerID)
            Me.columnCompanyName = New System.Data.DataColumn("CompanyName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCompanyName)
            Me.columnContactName = New System.Data.DataColumn("ContactName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnContactName)
            Me.columnContactTitle = New System.Data.DataColumn("ContactTitle", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnContactTitle)
            Me.columnAddress = New System.Data.DataColumn("Address", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnAddress)
            Me.columnCity = New System.Data.DataColumn("City", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCity)
            Me.columnRegion = New System.Data.DataColumn("Region", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnRegion)
            Me.columnPostalCode = New System.Data.DataColumn("PostalCode", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPostalCode)
            Me.columnCountry = New System.Data.DataColumn("Country", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCountry)
            Me.columnPhone = New System.Data.DataColumn("Phone", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPhone)
            Me.columnFax = New System.Data.DataColumn("Fax", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnFax)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnCustomerID}, true))
            Me.columnCustomerID.AllowDBNull = false
            Me.columnCustomerID.Unique = true
            Me.columnCustomerID.MaxLength = 5
            Me.columnCompanyName.MaxLength = 40
            Me.columnContactName.MaxLength = 30
            Me.columnContactTitle.MaxLength = 30
            Me.columnAddress.MaxLength = 60
            Me.columnCity.MaxLength = 15
            Me.columnRegion.MaxLength = 15
            Me.columnPostalCode.MaxLength = 10
            Me.columnCountry.MaxLength = 15
            Me.columnPhone.MaxLength = 24
            Me.columnFax.MaxLength = 24
        End Sub
        
        Public Function NewCustomersRow() As CustomersRow
            Return CType(Me.NewRow,CustomersRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New CustomersRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(CustomersRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.CustomersRowChangedEvent) Is Nothing) Then
                RaiseEvent CustomersRowChanged(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.CustomersRowChangingEvent) Is Nothing) Then
                RaiseEvent CustomersRowChanging(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.CustomersRowDeletedEvent) Is Nothing) Then
                RaiseEvent CustomersRowDeleted(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.CustomersRowDeletingEvent) Is Nothing) Then
                RaiseEvent CustomersRowDeleting(Me, New CustomersRowChangeEvent(CType(e.Row,CustomersRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveCustomersRow(ByVal row As CustomersRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "CustomersDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class EmployeesDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnEmployeeID As System.Data.DataColumn
        
        Private columnLastName As System.Data.DataColumn
        
        Private columnFirstName As System.Data.DataColumn
        
        Private columnTitle As System.Data.DataColumn
        
        Private columnTitleOfCourtesy As System.Data.DataColumn
        
        Private columnBirthDate As System.Data.DataColumn
        
        Private columnHireDate As System.Data.DataColumn
        
        Private columnAddress As System.Data.DataColumn
        
        Private columnCity As System.Data.DataColumn
        
        Private columnRegion As System.Data.DataColumn
        
        Private columnPostalCode As System.Data.DataColumn
        
        Private columnCountry As System.Data.DataColumn
        
        Private columnHomePhone As System.Data.DataColumn
        
        Private columnExtension As System.Data.DataColumn
        
        Private columnPhoto As System.Data.DataColumn
        
        Private columnNotes As System.Data.DataColumn
        
        Private columnReportsTo As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Employees"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property EmployeeIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnEmployeeID
            End Get
        End Property
        
        Public ReadOnly Property LastNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnLastName
            End Get
        End Property
        
        Public ReadOnly Property FirstNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnFirstName
            End Get
        End Property
        
        Public ReadOnly Property TitleColumn() As System.Data.DataColumn
            Get
                Return Me.columnTitle
            End Get
        End Property
        
        Public ReadOnly Property TitleOfCourtesyColumn() As System.Data.DataColumn
            Get
                Return Me.columnTitleOfCourtesy
            End Get
        End Property
        
        Public ReadOnly Property BirthDateColumn() As System.Data.DataColumn
            Get
                Return Me.columnBirthDate
            End Get
        End Property
        
        Public ReadOnly Property HireDateColumn() As System.Data.DataColumn
            Get
                Return Me.columnHireDate
            End Get
        End Property
        
        Public ReadOnly Property AddressColumn() As System.Data.DataColumn
            Get
                Return Me.columnAddress
            End Get
        End Property
        
        Public ReadOnly Property CityColumn() As System.Data.DataColumn
            Get
                Return Me.columnCity
            End Get
        End Property
        
        Public ReadOnly Property RegionColumn() As System.Data.DataColumn
            Get
                Return Me.columnRegion
            End Get
        End Property
        
        Public ReadOnly Property PostalCodeColumn() As System.Data.DataColumn
            Get
                Return Me.columnPostalCode
            End Get
        End Property
        
        Public ReadOnly Property CountryColumn() As System.Data.DataColumn
            Get
                Return Me.columnCountry
            End Get
        End Property
        
        Public ReadOnly Property HomePhoneColumn() As System.Data.DataColumn
            Get
                Return Me.columnHomePhone
            End Get
        End Property
        
        Public ReadOnly Property ExtensionColumn() As System.Data.DataColumn
            Get
                Return Me.columnExtension
            End Get
        End Property
        
        Public ReadOnly Property PhotoColumn() As System.Data.DataColumn
            Get
                Return Me.columnPhoto
            End Get
        End Property
        
        Public ReadOnly Property NotesColumn() As System.Data.DataColumn
            Get
                Return Me.columnNotes
            End Get
        End Property
        
        Public ReadOnly Property ReportsToColumn() As System.Data.DataColumn
            Get
                Return Me.columnReportsTo
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As EmployeesRow
            Get
                Return CType(Me.Rows(index),EmployeesRow)
            End Get
        End Property
        
        Public Event EmployeesRowChanged As EmployeesRowChangeEventHandler
        
        Public Event EmployeesRowChanging As EmployeesRowChangeEventHandler
        
        Public Event EmployeesRowDeleted As EmployeesRowChangeEventHandler
        
        Public Event EmployeesRowDeleting As EmployeesRowChangeEventHandler
        
        Public Overloads Sub AddEmployeesRow(ByVal row As EmployeesRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddEmployeesRow( _
                    ByVal LastName As String,  _
                    ByVal FirstName As String,  _
                    ByVal Title As String,  _
                    ByVal TitleOfCourtesy As String,  _
                    ByVal BirthDate As Date,  _
                    ByVal HireDate As Date,  _
                    ByVal Address As String,  _
                    ByVal City As String,  _
                    ByVal Region As String,  _
                    ByVal PostalCode As String,  _
                    ByVal Country As String,  _
                    ByVal HomePhone As String,  _
                    ByVal Extension As String,  _
                    ByVal Photo() As Byte,  _
                    ByVal Notes As String,  _
                    ByVal ReportsTo As Integer) As EmployeesRow
            Dim rowEmployeesRow As EmployeesRow = CType(Me.NewRow,EmployeesRow)
            rowEmployeesRow.ItemArray = New Object() {Nothing, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDate, Address, City, Region, PostalCode, Country, HomePhone, Extension, Photo, Notes, ReportsTo}
            Me.Rows.Add(rowEmployeesRow)
            Return rowEmployeesRow
        End Function
        
        Public Function FindByEmployeeID(ByVal EmployeeID As Integer) As EmployeesRow
            Return CType(Me.Rows.Find(New Object() {EmployeeID}),EmployeesRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As EmployeesDataTable = CType(MyBase.Clone,EmployeesDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New EmployeesDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnEmployeeID = MyBase.Columns("EmployeeID")
            Me.columnLastName = MyBase.Columns("LastName")
            Me.columnFirstName = MyBase.Columns("FirstName")
            Me.columnTitle = MyBase.Columns("Title")
            Me.columnTitleOfCourtesy = MyBase.Columns("TitleOfCourtesy")
            Me.columnBirthDate = MyBase.Columns("BirthDate")
            Me.columnHireDate = MyBase.Columns("HireDate")
            Me.columnAddress = MyBase.Columns("Address")
            Me.columnCity = MyBase.Columns("City")
            Me.columnRegion = MyBase.Columns("Region")
            Me.columnPostalCode = MyBase.Columns("PostalCode")
            Me.columnCountry = MyBase.Columns("Country")
            Me.columnHomePhone = MyBase.Columns("HomePhone")
            Me.columnExtension = MyBase.Columns("Extension")
            Me.columnPhoto = MyBase.Columns("Photo")
            Me.columnNotes = MyBase.Columns("Notes")
            Me.columnReportsTo = MyBase.Columns("ReportsTo")
        End Sub
        
        Private Sub InitClass()
            Me.columnEmployeeID = New System.Data.DataColumn("EmployeeID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnEmployeeID)
            Me.columnLastName = New System.Data.DataColumn("LastName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnLastName)
            Me.columnFirstName = New System.Data.DataColumn("FirstName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnFirstName)
            Me.columnTitle = New System.Data.DataColumn("Title", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnTitle)
            Me.columnTitleOfCourtesy = New System.Data.DataColumn("TitleOfCourtesy", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnTitleOfCourtesy)
            Me.columnBirthDate = New System.Data.DataColumn("BirthDate", GetType(Date), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnBirthDate)
            Me.columnHireDate = New System.Data.DataColumn("HireDate", GetType(Date), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnHireDate)
            Me.columnAddress = New System.Data.DataColumn("Address", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnAddress)
            Me.columnCity = New System.Data.DataColumn("City", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCity)
            Me.columnRegion = New System.Data.DataColumn("Region", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnRegion)
            Me.columnPostalCode = New System.Data.DataColumn("PostalCode", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPostalCode)
            Me.columnCountry = New System.Data.DataColumn("Country", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCountry)
            Me.columnHomePhone = New System.Data.DataColumn("HomePhone", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnHomePhone)
            Me.columnExtension = New System.Data.DataColumn("Extension", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnExtension)
            Me.columnPhoto = New System.Data.DataColumn("Photo", GetType(Byte()), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPhoto)
            Me.columnNotes = New System.Data.DataColumn("Notes", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnNotes)
            Me.columnReportsTo = New System.Data.DataColumn("ReportsTo", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnReportsTo)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnEmployeeID}, true))
            Me.columnEmployeeID.AutoIncrement = true
            Me.columnEmployeeID.AllowDBNull = false
            Me.columnEmployeeID.Unique = true
            Me.columnLastName.MaxLength = 20
            Me.columnFirstName.MaxLength = 10
            Me.columnTitle.MaxLength = 30
            Me.columnTitleOfCourtesy.MaxLength = 25
            Me.columnAddress.MaxLength = 60
            Me.columnCity.MaxLength = 15
            Me.columnRegion.MaxLength = 15
            Me.columnPostalCode.MaxLength = 10
            Me.columnCountry.MaxLength = 15
            Me.columnHomePhone.MaxLength = 24
            Me.columnExtension.MaxLength = 4
            Me.columnNotes.MaxLength = 536870910
        End Sub
        
        Public Function NewEmployeesRow() As EmployeesRow
            Return CType(Me.NewRow,EmployeesRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New EmployeesRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(EmployeesRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.EmployeesRowChangedEvent) Is Nothing) Then
                RaiseEvent EmployeesRowChanged(Me, New EmployeesRowChangeEvent(CType(e.Row,EmployeesRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.EmployeesRowChangingEvent) Is Nothing) Then
                RaiseEvent EmployeesRowChanging(Me, New EmployeesRowChangeEvent(CType(e.Row,EmployeesRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.EmployeesRowDeletedEvent) Is Nothing) Then
                RaiseEvent EmployeesRowDeleted(Me, New EmployeesRowChangeEvent(CType(e.Row,EmployeesRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.EmployeesRowDeletingEvent) Is Nothing) Then
                RaiseEvent EmployeesRowDeleting(Me, New EmployeesRowChangeEvent(CType(e.Row,EmployeesRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveEmployeesRow(ByVal row As EmployeesRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "EmployeesDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class Order_DetailsDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnOrderID As System.Data.DataColumn
        
        Private columnProductID As System.Data.DataColumn
        
        Private columnUnitPrice As System.Data.DataColumn
        
        Private columnQuantity As System.Data.DataColumn
        
        Private columnDiscount As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Order Details"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property OrderIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnOrderID
            End Get
        End Property
        
        Public ReadOnly Property ProductIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnProductID
            End Get
        End Property
        
        Public ReadOnly Property UnitPriceColumn() As System.Data.DataColumn
            Get
                Return Me.columnUnitPrice
            End Get
        End Property
        
        Public ReadOnly Property QuantityColumn() As System.Data.DataColumn
            Get
                Return Me.columnQuantity
            End Get
        End Property
        
        Public ReadOnly Property DiscountColumn() As System.Data.DataColumn
            Get
                Return Me.columnDiscount
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As Order_DetailsRow
            Get
                Return CType(Me.Rows(index),Order_DetailsRow)
            End Get
        End Property
        
        Public Event Order_DetailsRowChanged As Order_DetailsRowChangeEventHandler
        
        Public Event Order_DetailsRowChanging As Order_DetailsRowChangeEventHandler
        
        Public Event Order_DetailsRowDeleted As Order_DetailsRowChangeEventHandler
        
        Public Event Order_DetailsRowDeleting As Order_DetailsRowChangeEventHandler
        
        Public Overloads Sub AddOrder_DetailsRow(ByVal row As Order_DetailsRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddOrder_DetailsRow(ByVal parentOrdersRowByOrdersOrder_Details As OrdersRow, ByVal parentProductsRowByProductsOrder_Details As ProductsRow, ByVal UnitPrice As Decimal, ByVal Quantity As Short, ByVal Discount As Single) As Order_DetailsRow
            Dim rowOrder_DetailsRow As Order_DetailsRow = CType(Me.NewRow,Order_DetailsRow)
            rowOrder_DetailsRow.ItemArray = New Object() {parentOrdersRowByOrdersOrder_Details(0), parentProductsRowByProductsOrder_Details(0), UnitPrice, Quantity, Discount}
            Me.Rows.Add(rowOrder_DetailsRow)
            Return rowOrder_DetailsRow
        End Function
        
        Public Function FindByOrderIDProductID(ByVal OrderID As Integer, ByVal ProductID As Integer) As Order_DetailsRow
            Return CType(Me.Rows.Find(New Object() {OrderID, ProductID}),Order_DetailsRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As Order_DetailsDataTable = CType(MyBase.Clone,Order_DetailsDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New Order_DetailsDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnOrderID = MyBase.Columns("OrderID")
            Me.columnProductID = MyBase.Columns("ProductID")
            Me.columnUnitPrice = MyBase.Columns("UnitPrice")
            Me.columnQuantity = MyBase.Columns("Quantity")
            Me.columnDiscount = MyBase.Columns("Discount")
        End Sub
        
        Private Sub InitClass()
            Me.columnOrderID = New System.Data.DataColumn("OrderID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnOrderID)
            Me.columnProductID = New System.Data.DataColumn("ProductID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnProductID)
            Me.columnUnitPrice = New System.Data.DataColumn("UnitPrice", GetType(Decimal), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnUnitPrice)
            Me.columnQuantity = New System.Data.DataColumn("Quantity", GetType(Short), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnQuantity)
            Me.columnDiscount = New System.Data.DataColumn("Discount", GetType(Single), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnDiscount)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnOrderID, Me.columnProductID}, true))
            Me.columnOrderID.AllowDBNull = false
            Me.columnProductID.AllowDBNull = false
            Me.ExtendedProperties.Add("Generator_RowClassName", "Order_DetailsRow")
            Me.ExtendedProperties.Add("Generator_RowEvArgName", "Order_DetailsRowChangeEvent")
            Me.ExtendedProperties.Add("Generator_RowEvHandlerName", "Order_DetailsRowChangeEventHandler")
            Me.ExtendedProperties.Add("Generator_TableClassName", "Order_DetailsDataTable")
            Me.ExtendedProperties.Add("Generator_TablePropName", "Order_Details")
            Me.ExtendedProperties.Add("Generator_TableVarName", "tableOrder_Details")
            Me.ExtendedProperties.Add("Generator_UserTableName", "Order Details")
        End Sub
        
        Public Function NewOrder_DetailsRow() As Order_DetailsRow
            Return CType(Me.NewRow,Order_DetailsRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New Order_DetailsRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(Order_DetailsRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.Order_DetailsRowChangedEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowChanged(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.Order_DetailsRowChangingEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowChanging(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.Order_DetailsRowDeletedEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowDeleted(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.Order_DetailsRowDeletingEvent) Is Nothing) Then
                RaiseEvent Order_DetailsRowDeleting(Me, New Order_DetailsRowChangeEvent(CType(e.Row,Order_DetailsRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveOrder_DetailsRow(ByVal row As Order_DetailsRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "Order_DetailsDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class OrdersDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnOrderID As System.Data.DataColumn
        
        Private columnCustomerID As System.Data.DataColumn
        
        Private columnEmployeeID As System.Data.DataColumn
        
        Private columnOrderDate As System.Data.DataColumn
        
        Private columnRequiredDate As System.Data.DataColumn
        
        Private columnShippedDate As System.Data.DataColumn
        
        Private columnShipVia As System.Data.DataColumn
        
        Private columnFreight As System.Data.DataColumn
        
        Private columnShipName As System.Data.DataColumn
        
        Private columnShipAddress As System.Data.DataColumn
        
        Private columnShipCity As System.Data.DataColumn
        
        Private columnShipRegion As System.Data.DataColumn
        
        Private columnShipPostalCode As System.Data.DataColumn
        
        Private columnShipCountry As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Orders"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property OrderIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnOrderID
            End Get
        End Property
        
        Public ReadOnly Property CustomerIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnCustomerID
            End Get
        End Property
        
        Public ReadOnly Property EmployeeIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnEmployeeID
            End Get
        End Property
        
        Public ReadOnly Property OrderDateColumn() As System.Data.DataColumn
            Get
                Return Me.columnOrderDate
            End Get
        End Property
        
        Public ReadOnly Property RequiredDateColumn() As System.Data.DataColumn
            Get
                Return Me.columnRequiredDate
            End Get
        End Property
        
        Public ReadOnly Property ShippedDateColumn() As System.Data.DataColumn
            Get
                Return Me.columnShippedDate
            End Get
        End Property
        
        Public ReadOnly Property ShipViaColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipVia
            End Get
        End Property
        
        Public ReadOnly Property FreightColumn() As System.Data.DataColumn
            Get
                Return Me.columnFreight
            End Get
        End Property
        
        Public ReadOnly Property ShipNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipName
            End Get
        End Property
        
        Public ReadOnly Property ShipAddressColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipAddress
            End Get
        End Property
        
        Public ReadOnly Property ShipCityColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipCity
            End Get
        End Property
        
        Public ReadOnly Property ShipRegionColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipRegion
            End Get
        End Property
        
        Public ReadOnly Property ShipPostalCodeColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipPostalCode
            End Get
        End Property
        
        Public ReadOnly Property ShipCountryColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipCountry
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As OrdersRow
            Get
                Return CType(Me.Rows(index),OrdersRow)
            End Get
        End Property
        
        Public Event OrdersRowChanged As OrdersRowChangeEventHandler
        
        Public Event OrdersRowChanging As OrdersRowChangeEventHandler
        
        Public Event OrdersRowDeleted As OrdersRowChangeEventHandler
        
        Public Event OrdersRowDeleting As OrdersRowChangeEventHandler
        
        Public Overloads Sub AddOrdersRow(ByVal row As OrdersRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddOrdersRow(ByVal parentCustomersRowByCustomersOrders As CustomersRow, ByVal parentEmployeesRowByEmployeesOrders As EmployeesRow, ByVal OrderDate As Date, ByVal RequiredDate As Date, ByVal ShippedDate As Date, ByVal parentShippersRowByShippersOrders As ShippersRow, ByVal Freight As Decimal, ByVal ShipName As String, ByVal ShipAddress As String, ByVal ShipCity As String, ByVal ShipRegion As String, ByVal ShipPostalCode As String, ByVal ShipCountry As String) As OrdersRow
            Dim rowOrdersRow As OrdersRow = CType(Me.NewRow,OrdersRow)
            rowOrdersRow.ItemArray = New Object() {Nothing, parentCustomersRowByCustomersOrders(0), parentEmployeesRowByEmployeesOrders(0), OrderDate, RequiredDate, ShippedDate, parentShippersRowByShippersOrders(0), Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, ShipCountry}
            Me.Rows.Add(rowOrdersRow)
            Return rowOrdersRow
        End Function
        
        Public Function FindByOrderID(ByVal OrderID As Integer) As OrdersRow
            Return CType(Me.Rows.Find(New Object() {OrderID}),OrdersRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As OrdersDataTable = CType(MyBase.Clone,OrdersDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New OrdersDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnOrderID = MyBase.Columns("OrderID")
            Me.columnCustomerID = MyBase.Columns("CustomerID")
            Me.columnEmployeeID = MyBase.Columns("EmployeeID")
            Me.columnOrderDate = MyBase.Columns("OrderDate")
            Me.columnRequiredDate = MyBase.Columns("RequiredDate")
            Me.columnShippedDate = MyBase.Columns("ShippedDate")
            Me.columnShipVia = MyBase.Columns("ShipVia")
            Me.columnFreight = MyBase.Columns("Freight")
            Me.columnShipName = MyBase.Columns("ShipName")
            Me.columnShipAddress = MyBase.Columns("ShipAddress")
            Me.columnShipCity = MyBase.Columns("ShipCity")
            Me.columnShipRegion = MyBase.Columns("ShipRegion")
            Me.columnShipPostalCode = MyBase.Columns("ShipPostalCode")
            Me.columnShipCountry = MyBase.Columns("ShipCountry")
        End Sub
        
        Private Sub InitClass()
            Me.columnOrderID = New System.Data.DataColumn("OrderID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnOrderID)
            Me.columnCustomerID = New System.Data.DataColumn("CustomerID", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCustomerID)
            Me.columnEmployeeID = New System.Data.DataColumn("EmployeeID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnEmployeeID)
            Me.columnOrderDate = New System.Data.DataColumn("OrderDate", GetType(Date), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnOrderDate)
            Me.columnRequiredDate = New System.Data.DataColumn("RequiredDate", GetType(Date), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnRequiredDate)
            Me.columnShippedDate = New System.Data.DataColumn("ShippedDate", GetType(Date), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShippedDate)
            Me.columnShipVia = New System.Data.DataColumn("ShipVia", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipVia)
            Me.columnFreight = New System.Data.DataColumn("Freight", GetType(Decimal), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnFreight)
            Me.columnShipName = New System.Data.DataColumn("ShipName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipName)
            Me.columnShipAddress = New System.Data.DataColumn("ShipAddress", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipAddress)
            Me.columnShipCity = New System.Data.DataColumn("ShipCity", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipCity)
            Me.columnShipRegion = New System.Data.DataColumn("ShipRegion", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipRegion)
            Me.columnShipPostalCode = New System.Data.DataColumn("ShipPostalCode", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipPostalCode)
            Me.columnShipCountry = New System.Data.DataColumn("ShipCountry", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipCountry)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnOrderID}, true))
            Me.columnOrderID.AutoIncrement = true
            Me.columnOrderID.AllowDBNull = false
            Me.columnOrderID.Unique = true
            Me.columnCustomerID.MaxLength = 5
            Me.columnShipName.MaxLength = 40
            Me.columnShipAddress.MaxLength = 60
            Me.columnShipCity.MaxLength = 15
            Me.columnShipRegion.MaxLength = 15
            Me.columnShipPostalCode.MaxLength = 10
            Me.columnShipCountry.MaxLength = 15
        End Sub
        
        Public Function NewOrdersRow() As OrdersRow
            Return CType(Me.NewRow,OrdersRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New OrdersRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(OrdersRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.OrdersRowChangedEvent) Is Nothing) Then
                RaiseEvent OrdersRowChanged(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.OrdersRowChangingEvent) Is Nothing) Then
                RaiseEvent OrdersRowChanging(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.OrdersRowDeletedEvent) Is Nothing) Then
                RaiseEvent OrdersRowDeleted(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.OrdersRowDeletingEvent) Is Nothing) Then
                RaiseEvent OrdersRowDeleting(Me, New OrdersRowChangeEvent(CType(e.Row,OrdersRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveOrdersRow(ByVal row As OrdersRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "OrdersDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class ProductsDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnProductID As System.Data.DataColumn
        
        Private columnProductName As System.Data.DataColumn
        
        Private columnSupplierID As System.Data.DataColumn
        
        Private columnCategoryID As System.Data.DataColumn
        
        Private columnQuantityPerUnit As System.Data.DataColumn
        
        Private columnUnitPrice As System.Data.DataColumn
        
        Private columnUnitsInStock As System.Data.DataColumn
        
        Private columnUnitsOnOrder As System.Data.DataColumn
        
        Private columnReorderLevel As System.Data.DataColumn
        
        Private columnDiscontinued As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Products"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property ProductIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnProductID
            End Get
        End Property
        
        Public ReadOnly Property ProductNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnProductName
            End Get
        End Property
        
        Public ReadOnly Property SupplierIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnSupplierID
            End Get
        End Property
        
        Public ReadOnly Property CategoryIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnCategoryID
            End Get
        End Property
        
        Public ReadOnly Property QuantityPerUnitColumn() As System.Data.DataColumn
            Get
                Return Me.columnQuantityPerUnit
            End Get
        End Property
        
        Public ReadOnly Property UnitPriceColumn() As System.Data.DataColumn
            Get
                Return Me.columnUnitPrice
            End Get
        End Property
        
        Public ReadOnly Property UnitsInStockColumn() As System.Data.DataColumn
            Get
                Return Me.columnUnitsInStock
            End Get
        End Property
        
        Public ReadOnly Property UnitsOnOrderColumn() As System.Data.DataColumn
            Get
                Return Me.columnUnitsOnOrder
            End Get
        End Property
        
        Public ReadOnly Property ReorderLevelColumn() As System.Data.DataColumn
            Get
                Return Me.columnReorderLevel
            End Get
        End Property
        
        Public ReadOnly Property DiscontinuedColumn() As System.Data.DataColumn
            Get
                Return Me.columnDiscontinued
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As ProductsRow
            Get
                Return CType(Me.Rows(index),ProductsRow)
            End Get
        End Property
        
        Public Event ProductsRowChanged As ProductsRowChangeEventHandler
        
        Public Event ProductsRowChanging As ProductsRowChangeEventHandler
        
        Public Event ProductsRowDeleted As ProductsRowChangeEventHandler
        
        Public Event ProductsRowDeleting As ProductsRowChangeEventHandler
        
        Public Overloads Sub AddProductsRow(ByVal row As ProductsRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddProductsRow(ByVal ProductName As String, ByVal parentSuppliersRowBySuppliersProducts As SuppliersRow, ByVal parentCategoriesRowByCategoriesProducts As CategoriesRow, ByVal QuantityPerUnit As String, ByVal UnitPrice As Decimal, ByVal UnitsInStock As Short, ByVal UnitsOnOrder As Short, ByVal ReorderLevel As Short, ByVal Discontinued As Boolean) As ProductsRow
            Dim rowProductsRow As ProductsRow = CType(Me.NewRow,ProductsRow)
            rowProductsRow.ItemArray = New Object() {Nothing, ProductName, parentSuppliersRowBySuppliersProducts(0), parentCategoriesRowByCategoriesProducts(0), QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued}
            Me.Rows.Add(rowProductsRow)
            Return rowProductsRow
        End Function
        
        Public Function FindByProductID(ByVal ProductID As Integer) As ProductsRow
            Return CType(Me.Rows.Find(New Object() {ProductID}),ProductsRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As ProductsDataTable = CType(MyBase.Clone,ProductsDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New ProductsDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnProductID = MyBase.Columns("ProductID")
            Me.columnProductName = MyBase.Columns("ProductName")
            Me.columnSupplierID = MyBase.Columns("SupplierID")
            Me.columnCategoryID = MyBase.Columns("CategoryID")
            Me.columnQuantityPerUnit = MyBase.Columns("QuantityPerUnit")
            Me.columnUnitPrice = MyBase.Columns("UnitPrice")
            Me.columnUnitsInStock = MyBase.Columns("UnitsInStock")
            Me.columnUnitsOnOrder = MyBase.Columns("UnitsOnOrder")
            Me.columnReorderLevel = MyBase.Columns("ReorderLevel")
            Me.columnDiscontinued = MyBase.Columns("Discontinued")
        End Sub
        
        Private Sub InitClass()
            Me.columnProductID = New System.Data.DataColumn("ProductID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnProductID)
            Me.columnProductName = New System.Data.DataColumn("ProductName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnProductName)
            Me.columnSupplierID = New System.Data.DataColumn("SupplierID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnSupplierID)
            Me.columnCategoryID = New System.Data.DataColumn("CategoryID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCategoryID)
            Me.columnQuantityPerUnit = New System.Data.DataColumn("QuantityPerUnit", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnQuantityPerUnit)
            Me.columnUnitPrice = New System.Data.DataColumn("UnitPrice", GetType(Decimal), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnUnitPrice)
            Me.columnUnitsInStock = New System.Data.DataColumn("UnitsInStock", GetType(Short), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnUnitsInStock)
            Me.columnUnitsOnOrder = New System.Data.DataColumn("UnitsOnOrder", GetType(Short), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnUnitsOnOrder)
            Me.columnReorderLevel = New System.Data.DataColumn("ReorderLevel", GetType(Short), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnReorderLevel)
            Me.columnDiscontinued = New System.Data.DataColumn("Discontinued", GetType(Boolean), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnDiscontinued)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnProductID}, true))
            Me.columnProductID.AutoIncrement = true
            Me.columnProductID.AllowDBNull = false
            Me.columnProductID.Unique = true
            Me.columnProductName.MaxLength = 40
            Me.columnQuantityPerUnit.MaxLength = 20
        End Sub
        
        Public Function NewProductsRow() As ProductsRow
            Return CType(Me.NewRow,ProductsRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New ProductsRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(ProductsRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.ProductsRowChangedEvent) Is Nothing) Then
                RaiseEvent ProductsRowChanged(Me, New ProductsRowChangeEvent(CType(e.Row,ProductsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.ProductsRowChangingEvent) Is Nothing) Then
                RaiseEvent ProductsRowChanging(Me, New ProductsRowChangeEvent(CType(e.Row,ProductsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.ProductsRowDeletedEvent) Is Nothing) Then
                RaiseEvent ProductsRowDeleted(Me, New ProductsRowChangeEvent(CType(e.Row,ProductsRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.ProductsRowDeletingEvent) Is Nothing) Then
                RaiseEvent ProductsRowDeleting(Me, New ProductsRowChangeEvent(CType(e.Row,ProductsRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveProductsRow(ByVal row As ProductsRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "ProductsDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class ShippersDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnShipperID As System.Data.DataColumn
        
        Private columnCompanyName As System.Data.DataColumn
        
        Private columnPhone As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Shippers"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property ShipperIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnShipperID
            End Get
        End Property
        
        Public ReadOnly Property CompanyNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnCompanyName
            End Get
        End Property
        
        Public ReadOnly Property PhoneColumn() As System.Data.DataColumn
            Get
                Return Me.columnPhone
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As ShippersRow
            Get
                Return CType(Me.Rows(index),ShippersRow)
            End Get
        End Property
        
        Public Event ShippersRowChanged As ShippersRowChangeEventHandler
        
        Public Event ShippersRowChanging As ShippersRowChangeEventHandler
        
        Public Event ShippersRowDeleted As ShippersRowChangeEventHandler
        
        Public Event ShippersRowDeleting As ShippersRowChangeEventHandler
        
        Public Overloads Sub AddShippersRow(ByVal row As ShippersRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddShippersRow(ByVal CompanyName As String, ByVal Phone As String) As ShippersRow
            Dim rowShippersRow As ShippersRow = CType(Me.NewRow,ShippersRow)
            rowShippersRow.ItemArray = New Object() {Nothing, CompanyName, Phone}
            Me.Rows.Add(rowShippersRow)
            Return rowShippersRow
        End Function
        
        Public Function FindByShipperID(ByVal ShipperID As Integer) As ShippersRow
            Return CType(Me.Rows.Find(New Object() {ShipperID}),ShippersRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As ShippersDataTable = CType(MyBase.Clone,ShippersDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New ShippersDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnShipperID = MyBase.Columns("ShipperID")
            Me.columnCompanyName = MyBase.Columns("CompanyName")
            Me.columnPhone = MyBase.Columns("Phone")
        End Sub
        
        Private Sub InitClass()
            Me.columnShipperID = New System.Data.DataColumn("ShipperID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnShipperID)
            Me.columnCompanyName = New System.Data.DataColumn("CompanyName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCompanyName)
            Me.columnPhone = New System.Data.DataColumn("Phone", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPhone)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnShipperID}, true))
            Me.columnShipperID.AutoIncrement = true
            Me.columnShipperID.AllowDBNull = false
            Me.columnShipperID.Unique = true
            Me.columnCompanyName.MaxLength = 40
            Me.columnPhone.MaxLength = 24
        End Sub
        
        Public Function NewShippersRow() As ShippersRow
            Return CType(Me.NewRow,ShippersRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New ShippersRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(ShippersRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.ShippersRowChangedEvent) Is Nothing) Then
                RaiseEvent ShippersRowChanged(Me, New ShippersRowChangeEvent(CType(e.Row,ShippersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.ShippersRowChangingEvent) Is Nothing) Then
                RaiseEvent ShippersRowChanging(Me, New ShippersRowChangeEvent(CType(e.Row,ShippersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.ShippersRowDeletedEvent) Is Nothing) Then
                RaiseEvent ShippersRowDeleted(Me, New ShippersRowChangeEvent(CType(e.Row,ShippersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.ShippersRowDeletingEvent) Is Nothing) Then
                RaiseEvent ShippersRowDeleting(Me, New ShippersRowChangeEvent(CType(e.Row,ShippersRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveShippersRow(ByVal row As ShippersRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "ShippersDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    <System.Serializable(),  _
     System.Xml.Serialization.XmlSchemaProviderAttribute("GetTypedTableSchema")>  _
    Partial Public Class SuppliersDataTable
        Inherits System.Data.DataTable
        Implements System.Collections.IEnumerable
        
        Private columnSupplierID As System.Data.DataColumn
        
        Private columnCompanyName As System.Data.DataColumn
        
        Private columnContactName As System.Data.DataColumn
        
        Private columnContactTitle As System.Data.DataColumn
        
        Private columnAddress As System.Data.DataColumn
        
        Private columnCity As System.Data.DataColumn
        
        Private columnRegion As System.Data.DataColumn
        
        Private columnPostalCode As System.Data.DataColumn
        
        Private columnCountry As System.Data.DataColumn
        
        Private columnPhone As System.Data.DataColumn
        
        Private columnFax As System.Data.DataColumn
        
        Private columnHomePage As System.Data.DataColumn
        
        Public Sub New()
            MyBase.New
            Me.TableName = "Suppliers"
            Me.BeginInit
            Me.InitClass
            Me.EndInit
        End Sub
        
        Friend Sub New(ByVal table As System.Data.DataTable)
            MyBase.New
            Me.TableName = table.TableName
            If (table.CaseSensitive <> table.DataSet.CaseSensitive) Then
                Me.CaseSensitive = table.CaseSensitive
            End If
            If (table.Locale.ToString <> table.DataSet.Locale.ToString) Then
                Me.Locale = table.Locale
            End If
            If (table.Namespace <> table.DataSet.Namespace) Then
                Me.Namespace = table.Namespace
            End If
            Me.Prefix = table.Prefix
            Me.MinimumCapacity = table.MinimumCapacity
        End Sub
        
        Protected Sub New(ByVal info As System.Runtime.Serialization.SerializationInfo, ByVal context As System.Runtime.Serialization.StreamingContext)
            MyBase.New(info, context)
            Me.InitVars
        End Sub
        
        Public ReadOnly Property SupplierIDColumn() As System.Data.DataColumn
            Get
                Return Me.columnSupplierID
            End Get
        End Property
        
        Public ReadOnly Property CompanyNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnCompanyName
            End Get
        End Property
        
        Public ReadOnly Property ContactNameColumn() As System.Data.DataColumn
            Get
                Return Me.columnContactName
            End Get
        End Property
        
        Public ReadOnly Property ContactTitleColumn() As System.Data.DataColumn
            Get
                Return Me.columnContactTitle
            End Get
        End Property
        
        Public ReadOnly Property AddressColumn() As System.Data.DataColumn
            Get
                Return Me.columnAddress
            End Get
        End Property
        
        Public ReadOnly Property CityColumn() As System.Data.DataColumn
            Get
                Return Me.columnCity
            End Get
        End Property
        
        Public ReadOnly Property RegionColumn() As System.Data.DataColumn
            Get
                Return Me.columnRegion
            End Get
        End Property
        
        Public ReadOnly Property PostalCodeColumn() As System.Data.DataColumn
            Get
                Return Me.columnPostalCode
            End Get
        End Property
        
        Public ReadOnly Property CountryColumn() As System.Data.DataColumn
            Get
                Return Me.columnCountry
            End Get
        End Property
        
        Public ReadOnly Property PhoneColumn() As System.Data.DataColumn
            Get
                Return Me.columnPhone
            End Get
        End Property
        
        Public ReadOnly Property FaxColumn() As System.Data.DataColumn
            Get
                Return Me.columnFax
            End Get
        End Property
        
        Public ReadOnly Property HomePageColumn() As System.Data.DataColumn
            Get
                Return Me.columnHomePage
            End Get
        End Property
        
        <System.ComponentModel.Browsable(false)>  _
        Public ReadOnly Property Count() As Integer
            Get
                Return Me.Rows.Count
            End Get
        End Property
        
        Public Default ReadOnly Property Item(ByVal index As Integer) As SuppliersRow
            Get
                Return CType(Me.Rows(index),SuppliersRow)
            End Get
        End Property
        
        Public Event SuppliersRowChanged As SuppliersRowChangeEventHandler
        
        Public Event SuppliersRowChanging As SuppliersRowChangeEventHandler
        
        Public Event SuppliersRowDeleted As SuppliersRowChangeEventHandler
        
        Public Event SuppliersRowDeleting As SuppliersRowChangeEventHandler
        
        Public Overloads Sub AddSuppliersRow(ByVal row As SuppliersRow)
            Me.Rows.Add(row)
        End Sub
        
        Public Overloads Function AddSuppliersRow(ByVal CompanyName As String, ByVal ContactName As String, ByVal ContactTitle As String, ByVal Address As String, ByVal City As String, ByVal Region As String, ByVal PostalCode As String, ByVal Country As String, ByVal Phone As String, ByVal Fax As String, ByVal HomePage As String) As SuppliersRow
            Dim rowSuppliersRow As SuppliersRow = CType(Me.NewRow,SuppliersRow)
            rowSuppliersRow.ItemArray = New Object() {Nothing, CompanyName, ContactName, ContactTitle, Address, City, Region, PostalCode, Country, Phone, Fax, HomePage}
            Me.Rows.Add(rowSuppliersRow)
            Return rowSuppliersRow
        End Function
        
        Public Function FindBySupplierID(ByVal SupplierID As Integer) As SuppliersRow
            Return CType(Me.Rows.Find(New Object() {SupplierID}),SuppliersRow)
        End Function
        
        Public Overridable Function GetEnumerator() As System.Collections.IEnumerator Implements System.Collections.IEnumerable.GetEnumerator
            Return Me.Rows.GetEnumerator
        End Function
        
        Public Overrides Function Clone() As System.Data.DataTable
            Dim cln As SuppliersDataTable = CType(MyBase.Clone,SuppliersDataTable)
            cln.InitVars
            Return cln
        End Function
        
        Protected Overrides Function CreateInstance() As System.Data.DataTable
            Return New SuppliersDataTable
        End Function
        
        Friend Sub InitVars()
            Me.columnSupplierID = MyBase.Columns("SupplierID")
            Me.columnCompanyName = MyBase.Columns("CompanyName")
            Me.columnContactName = MyBase.Columns("ContactName")
            Me.columnContactTitle = MyBase.Columns("ContactTitle")
            Me.columnAddress = MyBase.Columns("Address")
            Me.columnCity = MyBase.Columns("City")
            Me.columnRegion = MyBase.Columns("Region")
            Me.columnPostalCode = MyBase.Columns("PostalCode")
            Me.columnCountry = MyBase.Columns("Country")
            Me.columnPhone = MyBase.Columns("Phone")
            Me.columnFax = MyBase.Columns("Fax")
            Me.columnHomePage = MyBase.Columns("HomePage")
        End Sub
        
        Private Sub InitClass()
            Me.columnSupplierID = New System.Data.DataColumn("SupplierID", GetType(Integer), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnSupplierID)
            Me.columnCompanyName = New System.Data.DataColumn("CompanyName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCompanyName)
            Me.columnContactName = New System.Data.DataColumn("ContactName", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnContactName)
            Me.columnContactTitle = New System.Data.DataColumn("ContactTitle", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnContactTitle)
            Me.columnAddress = New System.Data.DataColumn("Address", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnAddress)
            Me.columnCity = New System.Data.DataColumn("City", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCity)
            Me.columnRegion = New System.Data.DataColumn("Region", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnRegion)
            Me.columnPostalCode = New System.Data.DataColumn("PostalCode", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPostalCode)
            Me.columnCountry = New System.Data.DataColumn("Country", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnCountry)
            Me.columnPhone = New System.Data.DataColumn("Phone", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnPhone)
            Me.columnFax = New System.Data.DataColumn("Fax", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnFax)
            Me.columnHomePage = New System.Data.DataColumn("HomePage", GetType(String), Nothing, System.Data.MappingType.Element)
            MyBase.Columns.Add(Me.columnHomePage)
            Me.Constraints.Add(New System.Data.UniqueConstraint("Constraint1", New System.Data.DataColumn() {Me.columnSupplierID}, true))
            Me.columnSupplierID.AutoIncrement = true
            Me.columnSupplierID.AllowDBNull = false
            Me.columnSupplierID.Unique = true
            Me.columnCompanyName.MaxLength = 40
            Me.columnContactName.MaxLength = 30
            Me.columnContactTitle.MaxLength = 30
            Me.columnAddress.MaxLength = 60
            Me.columnCity.MaxLength = 15
            Me.columnRegion.MaxLength = 15
            Me.columnPostalCode.MaxLength = 10
            Me.columnCountry.MaxLength = 15
            Me.columnPhone.MaxLength = 24
            Me.columnFax.MaxLength = 24
            Me.columnHomePage.MaxLength = 536870910
        End Sub
        
        Public Function NewSuppliersRow() As SuppliersRow
            Return CType(Me.NewRow,SuppliersRow)
        End Function
        
        Protected Overrides Function NewRowFromBuilder(ByVal builder As System.Data.DataRowBuilder) As System.Data.DataRow
            Return New SuppliersRow(builder)
        End Function
        
        Protected Overrides Function GetRowType() As System.Type
            Return GetType(SuppliersRow)
        End Function
        
        Protected Overrides Sub OnRowChanged(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanged(e)
            If (Not (Me.SuppliersRowChangedEvent) Is Nothing) Then
                RaiseEvent SuppliersRowChanged(Me, New SuppliersRowChangeEvent(CType(e.Row,SuppliersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowChanging(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowChanging(e)
            If (Not (Me.SuppliersRowChangingEvent) Is Nothing) Then
                RaiseEvent SuppliersRowChanging(Me, New SuppliersRowChangeEvent(CType(e.Row,SuppliersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleted(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleted(e)
            If (Not (Me.SuppliersRowDeletedEvent) Is Nothing) Then
                RaiseEvent SuppliersRowDeleted(Me, New SuppliersRowChangeEvent(CType(e.Row,SuppliersRow), e.Action))
            End If
        End Sub
        
        Protected Overrides Sub OnRowDeleting(ByVal e As System.Data.DataRowChangeEventArgs)
            MyBase.OnRowDeleting(e)
            If (Not (Me.SuppliersRowDeletingEvent) Is Nothing) Then
                RaiseEvent SuppliersRowDeleting(Me, New SuppliersRowChangeEvent(CType(e.Row,SuppliersRow), e.Action))
            End If
        End Sub
        
        Public Sub RemoveSuppliersRow(ByVal row As SuppliersRow)
            Me.Rows.Remove(row)
        End Sub
        
        Public Shared Function GetTypedTableSchema(ByVal xs As System.Xml.Schema.XmlSchemaSet) As System.Xml.Schema.XmlSchemaComplexType
            Dim type As System.Xml.Schema.XmlSchemaComplexType = New System.Xml.Schema.XmlSchemaComplexType
            Dim sequence As System.Xml.Schema.XmlSchemaSequence = New System.Xml.Schema.XmlSchemaSequence
            Dim ds As NwindDataSet = New NwindDataSet
            xs.Add(ds.GetSchemaSerializable)
            Dim any1 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any1.Namespace = "http://www.w3.org/2001/XMLSchema"
            any1.MinOccurs = New Decimal(0)
            any1.MaxOccurs = Decimal.MaxValue
            any1.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any1)
            Dim any2 As System.Xml.Schema.XmlSchemaAny = New System.Xml.Schema.XmlSchemaAny
            any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1"
            any2.MinOccurs = New Decimal(1)
            any2.ProcessContents = System.Xml.Schema.XmlSchemaContentProcessing.Lax
            sequence.Items.Add(any2)
            Dim attribute1 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute1.Name = "namespace"
            attribute1.FixedValue = ds.Namespace
            type.Attributes.Add(attribute1)
            Dim attribute2 As System.Xml.Schema.XmlSchemaAttribute = New System.Xml.Schema.XmlSchemaAttribute
            attribute2.Name = "tableTypeName"
            attribute2.FixedValue = "SuppliersDataTable"
            type.Attributes.Add(attribute2)
            type.Particle = sequence
            Return type
        End Function
    End Class
    
    Partial Public Class CategoriesRow
        Inherits System.Data.DataRow
        
        Private tableCategories As CategoriesDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableCategories = CType(Me.Table,CategoriesDataTable)
        End Sub
        
        Public Property CategoryID() As Integer
            Get
                Return CType(Me(Me.tableCategories.CategoryIDColumn),Integer)
            End Get
            Set
                Me(Me.tableCategories.CategoryIDColumn) = value
            End Set
        End Property
        
        Public Property CategoryName() As String
            Get
                Try 
                    Return CType(Me(Me.tableCategories.CategoryNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'CategoryName' in table 'Categories' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCategories.CategoryNameColumn) = value
            End Set
        End Property
        
        Public Property Description() As String
            Get
                Try 
                    Return CType(Me(Me.tableCategories.DescriptionColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Description' in table 'Categories' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCategories.DescriptionColumn) = value
            End Set
        End Property
        
        Public Property Picture() As Byte()
            Get
                Try 
                    Return CType(Me(Me.tableCategories.PictureColumn),Byte())
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Picture' in table 'Categories' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCategories.PictureColumn) = value
            End Set
        End Property
        
        Public Function IsCategoryNameNull() As Boolean
            Return Me.IsNull(Me.tableCategories.CategoryNameColumn)
        End Function
        
        Public Sub SetCategoryNameNull()
            Me(Me.tableCategories.CategoryNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsDescriptionNull() As Boolean
            Return Me.IsNull(Me.tableCategories.DescriptionColumn)
        End Function
        
        Public Sub SetDescriptionNull()
            Me(Me.tableCategories.DescriptionColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPictureNull() As Boolean
            Return Me.IsNull(Me.tableCategories.PictureColumn)
        End Function
        
        Public Sub SetPictureNull()
            Me(Me.tableCategories.PictureColumn) = System.Convert.DBNull
        End Sub
        
        Public Function GetProductsRows() As ProductsRow()
            Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("CategoriesProducts")),ProductsRow())
        End Function
    End Class
    
    Partial Public Class CustomersRow
        Inherits System.Data.DataRow
        
        Private tableCustomers As CustomersDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableCustomers = CType(Me.Table,CustomersDataTable)
        End Sub
        
        Public Property CustomerID() As String
            Get
                Return CType(Me(Me.tableCustomers.CustomerIDColumn),String)
            End Get
            Set
                Me(Me.tableCustomers.CustomerIDColumn) = value
            End Set
        End Property
        
        Public Property CompanyName() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.CompanyNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'CompanyName' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.CompanyNameColumn) = value
            End Set
        End Property
        
        Public Property ContactName() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.ContactNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ContactName' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.ContactNameColumn) = value
            End Set
        End Property
        
        Public Property ContactTitle() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.ContactTitleColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ContactTitle' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.ContactTitleColumn) = value
            End Set
        End Property
        
        Public Property Address() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.AddressColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Address' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.AddressColumn) = value
            End Set
        End Property
        
        Public Property City() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.CityColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'City' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.CityColumn) = value
            End Set
        End Property
        
        Public Property Region() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.RegionColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Region' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.RegionColumn) = value
            End Set
        End Property
        
        Public Property PostalCode() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.PostalCodeColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'PostalCode' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.PostalCodeColumn) = value
            End Set
        End Property
        
        Public Property Country() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.CountryColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Country' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.CountryColumn) = value
            End Set
        End Property
        
        Public Property Phone() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.PhoneColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Phone' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.PhoneColumn) = value
            End Set
        End Property
        
        Public Property Fax() As String
            Get
                Try 
                    Return CType(Me(Me.tableCustomers.FaxColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Fax' in table 'Customers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableCustomers.FaxColumn) = value
            End Set
        End Property
        
        Public Function IsCompanyNameNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.CompanyNameColumn)
        End Function
        
        Public Sub SetCompanyNameNull()
            Me(Me.tableCustomers.CompanyNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsContactNameNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.ContactNameColumn)
        End Function
        
        Public Sub SetContactNameNull()
            Me(Me.tableCustomers.ContactNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsContactTitleNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.ContactTitleColumn)
        End Function
        
        Public Sub SetContactTitleNull()
            Me(Me.tableCustomers.ContactTitleColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsAddressNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.AddressColumn)
        End Function
        
        Public Sub SetAddressNull()
            Me(Me.tableCustomers.AddressColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsCityNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.CityColumn)
        End Function
        
        Public Sub SetCityNull()
            Me(Me.tableCustomers.CityColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsRegionNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.RegionColumn)
        End Function
        
        Public Sub SetRegionNull()
            Me(Me.tableCustomers.RegionColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPostalCodeNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.PostalCodeColumn)
        End Function
        
        Public Sub SetPostalCodeNull()
            Me(Me.tableCustomers.PostalCodeColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsCountryNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.CountryColumn)
        End Function
        
        Public Sub SetCountryNull()
            Me(Me.tableCustomers.CountryColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPhoneNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.PhoneColumn)
        End Function
        
        Public Sub SetPhoneNull()
            Me(Me.tableCustomers.PhoneColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsFaxNull() As Boolean
            Return Me.IsNull(Me.tableCustomers.FaxColumn)
        End Function
        
        Public Sub SetFaxNull()
            Me(Me.tableCustomers.FaxColumn) = System.Convert.DBNull
        End Sub
        
        Public Function GetOrdersRows() As OrdersRow()
            Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("CustomersOrders")),OrdersRow())
        End Function
    End Class
    
    Partial Public Class EmployeesRow
        Inherits System.Data.DataRow
        
        Private tableEmployees As EmployeesDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableEmployees = CType(Me.Table,EmployeesDataTable)
        End Sub
        
        Public Property EmployeeID() As Integer
            Get
                Return CType(Me(Me.tableEmployees.EmployeeIDColumn),Integer)
            End Get
            Set
                Me(Me.tableEmployees.EmployeeIDColumn) = value
            End Set
        End Property
        
        Public Property LastName() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.LastNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'LastName' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.LastNameColumn) = value
            End Set
        End Property
        
        Public Property FirstName() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.FirstNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'FirstName' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.FirstNameColumn) = value
            End Set
        End Property
        
        Public Property Title() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.TitleColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Title' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.TitleColumn) = value
            End Set
        End Property
        
        Public Property TitleOfCourtesy() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.TitleOfCourtesyColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'TitleOfCourtesy' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.TitleOfCourtesyColumn) = value
            End Set
        End Property
        
        Public Property BirthDate() As Date
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.BirthDateColumn),Date)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'BirthDate' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.BirthDateColumn) = value
            End Set
        End Property
        
        Public Property HireDate() As Date
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.HireDateColumn),Date)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'HireDate' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.HireDateColumn) = value
            End Set
        End Property
        
        Public Property Address() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.AddressColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Address' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.AddressColumn) = value
            End Set
        End Property
        
        Public Property City() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.CityColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'City' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.CityColumn) = value
            End Set
        End Property
        
        Public Property Region() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.RegionColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Region' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.RegionColumn) = value
            End Set
        End Property
        
        Public Property PostalCode() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.PostalCodeColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'PostalCode' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.PostalCodeColumn) = value
            End Set
        End Property
        
        Public Property Country() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.CountryColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Country' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.CountryColumn) = value
            End Set
        End Property
        
        Public Property HomePhone() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.HomePhoneColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'HomePhone' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.HomePhoneColumn) = value
            End Set
        End Property
        
        Public Property Extension() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.ExtensionColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Extension' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.ExtensionColumn) = value
            End Set
        End Property
        
        Public Property Photo() As Byte()
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.PhotoColumn),Byte())
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Photo' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.PhotoColumn) = value
            End Set
        End Property
        
        Public Property Notes() As String
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.NotesColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Notes' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.NotesColumn) = value
            End Set
        End Property
        
        Public Property ReportsTo() As Integer
            Get
                Try 
                    Return CType(Me(Me.tableEmployees.ReportsToColumn),Integer)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ReportsTo' in table 'Employees' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableEmployees.ReportsToColumn) = value
            End Set
        End Property
        
        Public Function IsLastNameNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.LastNameColumn)
        End Function
        
        Public Sub SetLastNameNull()
            Me(Me.tableEmployees.LastNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsFirstNameNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.FirstNameColumn)
        End Function
        
        Public Sub SetFirstNameNull()
            Me(Me.tableEmployees.FirstNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsTitleNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.TitleColumn)
        End Function
        
        Public Sub SetTitleNull()
            Me(Me.tableEmployees.TitleColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsTitleOfCourtesyNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.TitleOfCourtesyColumn)
        End Function
        
        Public Sub SetTitleOfCourtesyNull()
            Me(Me.tableEmployees.TitleOfCourtesyColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsBirthDateNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.BirthDateColumn)
        End Function
        
        Public Sub SetBirthDateNull()
            Me(Me.tableEmployees.BirthDateColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsHireDateNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.HireDateColumn)
        End Function
        
        Public Sub SetHireDateNull()
            Me(Me.tableEmployees.HireDateColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsAddressNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.AddressColumn)
        End Function
        
        Public Sub SetAddressNull()
            Me(Me.tableEmployees.AddressColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsCityNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.CityColumn)
        End Function
        
        Public Sub SetCityNull()
            Me(Me.tableEmployees.CityColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsRegionNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.RegionColumn)
        End Function
        
        Public Sub SetRegionNull()
            Me(Me.tableEmployees.RegionColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPostalCodeNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.PostalCodeColumn)
        End Function
        
        Public Sub SetPostalCodeNull()
            Me(Me.tableEmployees.PostalCodeColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsCountryNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.CountryColumn)
        End Function
        
        Public Sub SetCountryNull()
            Me(Me.tableEmployees.CountryColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsHomePhoneNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.HomePhoneColumn)
        End Function
        
        Public Sub SetHomePhoneNull()
            Me(Me.tableEmployees.HomePhoneColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsExtensionNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.ExtensionColumn)
        End Function
        
        Public Sub SetExtensionNull()
            Me(Me.tableEmployees.ExtensionColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPhotoNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.PhotoColumn)
        End Function
        
        Public Sub SetPhotoNull()
            Me(Me.tableEmployees.PhotoColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsNotesNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.NotesColumn)
        End Function
        
        Public Sub SetNotesNull()
            Me(Me.tableEmployees.NotesColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsReportsToNull() As Boolean
            Return Me.IsNull(Me.tableEmployees.ReportsToColumn)
        End Function
        
        Public Sub SetReportsToNull()
            Me(Me.tableEmployees.ReportsToColumn) = System.Convert.DBNull
        End Sub
        
        Public Function GetOrdersRows() As OrdersRow()
            Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("EmployeesOrders")),OrdersRow())
        End Function
    End Class
    
    Partial Public Class Order_DetailsRow
        Inherits System.Data.DataRow
        
        Private tableOrder_Details As Order_DetailsDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableOrder_Details = CType(Me.Table,Order_DetailsDataTable)
        End Sub
        
        Public Property OrderID() As Integer
            Get
                Return CType(Me(Me.tableOrder_Details.OrderIDColumn),Integer)
            End Get
            Set
                Me(Me.tableOrder_Details.OrderIDColumn) = value
            End Set
        End Property
        
        Public Property ProductID() As Integer
            Get
                Return CType(Me(Me.tableOrder_Details.ProductIDColumn),Integer)
            End Get
            Set
                Me(Me.tableOrder_Details.ProductIDColumn) = value
            End Set
        End Property
        
        Public Property UnitPrice() As Decimal
            Get
                Try 
                    Return CType(Me(Me.tableOrder_Details.UnitPriceColumn),Decimal)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'UnitPrice' in table 'Order Details' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrder_Details.UnitPriceColumn) = value
            End Set
        End Property
        
        Public Property Quantity() As Short
            Get
                Try 
                    Return CType(Me(Me.tableOrder_Details.QuantityColumn),Short)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Quantity' in table 'Order Details' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrder_Details.QuantityColumn) = value
            End Set
        End Property
        
        Public Property Discount() As Single
            Get
                Try 
                    Return CType(Me(Me.tableOrder_Details.DiscountColumn),Single)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Discount' in table 'Order Details' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrder_Details.DiscountColumn) = value
            End Set
        End Property
        
        Public Property OrdersRow() As OrdersRow
            Get
                Return CType(Me.GetParentRow(Me.Table.ParentRelations("OrdersOrder Details")),OrdersRow)
            End Get
            Set
                Me.SetParentRow(value, Me.Table.ParentRelations("OrdersOrder Details"))
            End Set
        End Property
        
        Public Property ProductsRow() As ProductsRow
            Get
                Return CType(Me.GetParentRow(Me.Table.ParentRelations("ProductsOrder Details")),ProductsRow)
            End Get
            Set
                Me.SetParentRow(value, Me.Table.ParentRelations("ProductsOrder Details"))
            End Set
        End Property
        
        Public Function IsUnitPriceNull() As Boolean
            Return Me.IsNull(Me.tableOrder_Details.UnitPriceColumn)
        End Function
        
        Public Sub SetUnitPriceNull()
            Me(Me.tableOrder_Details.UnitPriceColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsQuantityNull() As Boolean
            Return Me.IsNull(Me.tableOrder_Details.QuantityColumn)
        End Function
        
        Public Sub SetQuantityNull()
            Me(Me.tableOrder_Details.QuantityColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsDiscountNull() As Boolean
            Return Me.IsNull(Me.tableOrder_Details.DiscountColumn)
        End Function
        
        Public Sub SetDiscountNull()
            Me(Me.tableOrder_Details.DiscountColumn) = System.Convert.DBNull
        End Sub
    End Class
    
    Partial Public Class OrdersRow
        Inherits System.Data.DataRow
        
        Private tableOrders As OrdersDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableOrders = CType(Me.Table,OrdersDataTable)
        End Sub
        
        Public Property OrderID() As Integer
            Get
                Return CType(Me(Me.tableOrders.OrderIDColumn),Integer)
            End Get
            Set
                Me(Me.tableOrders.OrderIDColumn) = value
            End Set
        End Property
        
        Public Property CustomerID() As String
            Get
                Try 
                    Return CType(Me(Me.tableOrders.CustomerIDColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'CustomerID' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.CustomerIDColumn) = value
            End Set
        End Property
        
        Public Property EmployeeID() As Integer
            Get
                Try 
                    Return CType(Me(Me.tableOrders.EmployeeIDColumn),Integer)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'EmployeeID' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.EmployeeIDColumn) = value
            End Set
        End Property
        
        Public Property OrderDate() As Date
            Get
                Try 
                    Return CType(Me(Me.tableOrders.OrderDateColumn),Date)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'OrderDate' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.OrderDateColumn) = value
            End Set
        End Property
        
        Public Property RequiredDate() As Date
            Get
                Try 
                    Return CType(Me(Me.tableOrders.RequiredDateColumn),Date)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'RequiredDate' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.RequiredDateColumn) = value
            End Set
        End Property
        
        Public Property ShippedDate() As Date
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShippedDateColumn),Date)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShippedDate' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShippedDateColumn) = value
            End Set
        End Property
        
        Public Property ShipVia() As Integer
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShipViaColumn),Integer)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShipVia' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShipViaColumn) = value
            End Set
        End Property
        
        Public Property Freight() As Decimal
            Get
                Try 
                    Return CType(Me(Me.tableOrders.FreightColumn),Decimal)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Freight' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.FreightColumn) = value
            End Set
        End Property
        
        Public Property ShipName() As String
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShipNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShipName' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShipNameColumn) = value
            End Set
        End Property
        
        Public Property ShipAddress() As String
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShipAddressColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShipAddress' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShipAddressColumn) = value
            End Set
        End Property
        
        Public Property ShipCity() As String
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShipCityColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShipCity' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShipCityColumn) = value
            End Set
        End Property
        
        Public Property ShipRegion() As String
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShipRegionColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShipRegion' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShipRegionColumn) = value
            End Set
        End Property
        
        Public Property ShipPostalCode() As String
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShipPostalCodeColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShipPostalCode' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShipPostalCodeColumn) = value
            End Set
        End Property
        
        Public Property ShipCountry() As String
            Get
                Try 
                    Return CType(Me(Me.tableOrders.ShipCountryColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ShipCountry' in table 'Orders' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableOrders.ShipCountryColumn) = value
            End Set
        End Property
        
        Public Property CustomersRow() As CustomersRow
            Get
                Return CType(Me.GetParentRow(Me.Table.ParentRelations("CustomersOrders")),CustomersRow)
            End Get
            Set
                Me.SetParentRow(value, Me.Table.ParentRelations("CustomersOrders"))
            End Set
        End Property
        
        Public Property EmployeesRow() As EmployeesRow
            Get
                Return CType(Me.GetParentRow(Me.Table.ParentRelations("EmployeesOrders")),EmployeesRow)
            End Get
            Set
                Me.SetParentRow(value, Me.Table.ParentRelations("EmployeesOrders"))
            End Set
        End Property
        
        Public Property ShippersRow() As ShippersRow
            Get
                Return CType(Me.GetParentRow(Me.Table.ParentRelations("ShippersOrders")),ShippersRow)
            End Get
            Set
                Me.SetParentRow(value, Me.Table.ParentRelations("ShippersOrders"))
            End Set
        End Property
        
        Public Function IsCustomerIDNull() As Boolean
            Return Me.IsNull(Me.tableOrders.CustomerIDColumn)
        End Function
        
        Public Sub SetCustomerIDNull()
            Me(Me.tableOrders.CustomerIDColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsEmployeeIDNull() As Boolean
            Return Me.IsNull(Me.tableOrders.EmployeeIDColumn)
        End Function
        
        Public Sub SetEmployeeIDNull()
            Me(Me.tableOrders.EmployeeIDColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsOrderDateNull() As Boolean
            Return Me.IsNull(Me.tableOrders.OrderDateColumn)
        End Function
        
        Public Sub SetOrderDateNull()
            Me(Me.tableOrders.OrderDateColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsRequiredDateNull() As Boolean
            Return Me.IsNull(Me.tableOrders.RequiredDateColumn)
        End Function
        
        Public Sub SetRequiredDateNull()
            Me(Me.tableOrders.RequiredDateColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShippedDateNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShippedDateColumn)
        End Function
        
        Public Sub SetShippedDateNull()
            Me(Me.tableOrders.ShippedDateColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShipViaNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShipViaColumn)
        End Function
        
        Public Sub SetShipViaNull()
            Me(Me.tableOrders.ShipViaColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsFreightNull() As Boolean
            Return Me.IsNull(Me.tableOrders.FreightColumn)
        End Function
        
        Public Sub SetFreightNull()
            Me(Me.tableOrders.FreightColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShipNameNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShipNameColumn)
        End Function
        
        Public Sub SetShipNameNull()
            Me(Me.tableOrders.ShipNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShipAddressNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShipAddressColumn)
        End Function
        
        Public Sub SetShipAddressNull()
            Me(Me.tableOrders.ShipAddressColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShipCityNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShipCityColumn)
        End Function
        
        Public Sub SetShipCityNull()
            Me(Me.tableOrders.ShipCityColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShipRegionNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShipRegionColumn)
        End Function
        
        Public Sub SetShipRegionNull()
            Me(Me.tableOrders.ShipRegionColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShipPostalCodeNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShipPostalCodeColumn)
        End Function
        
        Public Sub SetShipPostalCodeNull()
            Me(Me.tableOrders.ShipPostalCodeColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsShipCountryNull() As Boolean
            Return Me.IsNull(Me.tableOrders.ShipCountryColumn)
        End Function
        
        Public Sub SetShipCountryNull()
            Me(Me.tableOrders.ShipCountryColumn) = System.Convert.DBNull
        End Sub
        
        Public Function GetOrder_DetailsRows() As Order_DetailsRow()
            Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("OrdersOrder Details")),Order_DetailsRow())
        End Function
    End Class
    
    Partial Public Class ProductsRow
        Inherits System.Data.DataRow
        
        Private tableProducts As ProductsDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableProducts = CType(Me.Table,ProductsDataTable)
        End Sub
        
        Public Property ProductID() As Integer
            Get
                Return CType(Me(Me.tableProducts.ProductIDColumn),Integer)
            End Get
            Set
                Me(Me.tableProducts.ProductIDColumn) = value
            End Set
        End Property
        
        Public Property ProductName() As String
            Get
                Try 
                    Return CType(Me(Me.tableProducts.ProductNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ProductName' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.ProductNameColumn) = value
            End Set
        End Property
        
        Public Property SupplierID() As Integer
            Get
                Try 
                    Return CType(Me(Me.tableProducts.SupplierIDColumn),Integer)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'SupplierID' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.SupplierIDColumn) = value
            End Set
        End Property
        
        Public Property CategoryID() As Integer
            Get
                Try 
                    Return CType(Me(Me.tableProducts.CategoryIDColumn),Integer)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'CategoryID' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.CategoryIDColumn) = value
            End Set
        End Property
        
        Public Property QuantityPerUnit() As String
            Get
                Try 
                    Return CType(Me(Me.tableProducts.QuantityPerUnitColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'QuantityPerUnit' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.QuantityPerUnitColumn) = value
            End Set
        End Property
        
        Public Property UnitPrice() As Decimal
            Get
                Try 
                    Return CType(Me(Me.tableProducts.UnitPriceColumn),Decimal)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'UnitPrice' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.UnitPriceColumn) = value
            End Set
        End Property
        
        Public Property UnitsInStock() As Short
            Get
                Try 
                    Return CType(Me(Me.tableProducts.UnitsInStockColumn),Short)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'UnitsInStock' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.UnitsInStockColumn) = value
            End Set
        End Property
        
        Public Property UnitsOnOrder() As Short
            Get
                Try 
                    Return CType(Me(Me.tableProducts.UnitsOnOrderColumn),Short)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'UnitsOnOrder' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.UnitsOnOrderColumn) = value
            End Set
        End Property
        
        Public Property ReorderLevel() As Short
            Get
                Try 
                    Return CType(Me(Me.tableProducts.ReorderLevelColumn),Short)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ReorderLevel' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.ReorderLevelColumn) = value
            End Set
        End Property
        
        Public Property Discontinued() As Boolean
            Get
                Try 
                    Return CType(Me(Me.tableProducts.DiscontinuedColumn),Boolean)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Discontinued' in table 'Products' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableProducts.DiscontinuedColumn) = value
            End Set
        End Property
        
        Public Property CategoriesRow() As CategoriesRow
            Get
                Return CType(Me.GetParentRow(Me.Table.ParentRelations("CategoriesProducts")),CategoriesRow)
            End Get
            Set
                Me.SetParentRow(value, Me.Table.ParentRelations("CategoriesProducts"))
            End Set
        End Property
        
        Public Property SuppliersRow() As SuppliersRow
            Get
                Return CType(Me.GetParentRow(Me.Table.ParentRelations("SuppliersProducts")),SuppliersRow)
            End Get
            Set
                Me.SetParentRow(value, Me.Table.ParentRelations("SuppliersProducts"))
            End Set
        End Property
        
        Public Function IsProductNameNull() As Boolean
            Return Me.IsNull(Me.tableProducts.ProductNameColumn)
        End Function
        
        Public Sub SetProductNameNull()
            Me(Me.tableProducts.ProductNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsSupplierIDNull() As Boolean
            Return Me.IsNull(Me.tableProducts.SupplierIDColumn)
        End Function
        
        Public Sub SetSupplierIDNull()
            Me(Me.tableProducts.SupplierIDColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsCategoryIDNull() As Boolean
            Return Me.IsNull(Me.tableProducts.CategoryIDColumn)
        End Function
        
        Public Sub SetCategoryIDNull()
            Me(Me.tableProducts.CategoryIDColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsQuantityPerUnitNull() As Boolean
            Return Me.IsNull(Me.tableProducts.QuantityPerUnitColumn)
        End Function
        
        Public Sub SetQuantityPerUnitNull()
            Me(Me.tableProducts.QuantityPerUnitColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsUnitPriceNull() As Boolean
            Return Me.IsNull(Me.tableProducts.UnitPriceColumn)
        End Function
        
        Public Sub SetUnitPriceNull()
            Me(Me.tableProducts.UnitPriceColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsUnitsInStockNull() As Boolean
            Return Me.IsNull(Me.tableProducts.UnitsInStockColumn)
        End Function
        
        Public Sub SetUnitsInStockNull()
            Me(Me.tableProducts.UnitsInStockColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsUnitsOnOrderNull() As Boolean
            Return Me.IsNull(Me.tableProducts.UnitsOnOrderColumn)
        End Function
        
        Public Sub SetUnitsOnOrderNull()
            Me(Me.tableProducts.UnitsOnOrderColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsReorderLevelNull() As Boolean
            Return Me.IsNull(Me.tableProducts.ReorderLevelColumn)
        End Function
        
        Public Sub SetReorderLevelNull()
            Me(Me.tableProducts.ReorderLevelColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsDiscontinuedNull() As Boolean
            Return Me.IsNull(Me.tableProducts.DiscontinuedColumn)
        End Function
        
        Public Sub SetDiscontinuedNull()
            Me(Me.tableProducts.DiscontinuedColumn) = System.Convert.DBNull
        End Sub
        
        Public Function GetOrder_DetailsRows() As Order_DetailsRow()
            Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("ProductsOrder Details")),Order_DetailsRow())
        End Function
    End Class
    
    Partial Public Class ShippersRow
        Inherits System.Data.DataRow
        
        Private tableShippers As ShippersDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableShippers = CType(Me.Table,ShippersDataTable)
        End Sub
        
        Public Property ShipperID() As Integer
            Get
                Return CType(Me(Me.tableShippers.ShipperIDColumn),Integer)
            End Get
            Set
                Me(Me.tableShippers.ShipperIDColumn) = value
            End Set
        End Property
        
        Public Property CompanyName() As String
            Get
                Try 
                    Return CType(Me(Me.tableShippers.CompanyNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'CompanyName' in table 'Shippers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableShippers.CompanyNameColumn) = value
            End Set
        End Property
        
        Public Property Phone() As String
            Get
                Try 
                    Return CType(Me(Me.tableShippers.PhoneColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Phone' in table 'Shippers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableShippers.PhoneColumn) = value
            End Set
        End Property
        
        Public Function IsCompanyNameNull() As Boolean
            Return Me.IsNull(Me.tableShippers.CompanyNameColumn)
        End Function
        
        Public Sub SetCompanyNameNull()
            Me(Me.tableShippers.CompanyNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPhoneNull() As Boolean
            Return Me.IsNull(Me.tableShippers.PhoneColumn)
        End Function
        
        Public Sub SetPhoneNull()
            Me(Me.tableShippers.PhoneColumn) = System.Convert.DBNull
        End Sub
        
        Public Function GetOrdersRows() As OrdersRow()
            Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("ShippersOrders")),OrdersRow())
        End Function
    End Class
    
    Partial Public Class SuppliersRow
        Inherits System.Data.DataRow
        
        Private tableSuppliers As SuppliersDataTable
        
        Friend Sub New(ByVal rb As System.Data.DataRowBuilder)
            MyBase.New(rb)
            Me.tableSuppliers = CType(Me.Table,SuppliersDataTable)
        End Sub
        
        Public Property SupplierID() As Integer
            Get
                Return CType(Me(Me.tableSuppliers.SupplierIDColumn),Integer)
            End Get
            Set
                Me(Me.tableSuppliers.SupplierIDColumn) = value
            End Set
        End Property
        
        Public Property CompanyName() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.CompanyNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'CompanyName' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.CompanyNameColumn) = value
            End Set
        End Property
        
        Public Property ContactName() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.ContactNameColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ContactName' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.ContactNameColumn) = value
            End Set
        End Property
        
        Public Property ContactTitle() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.ContactTitleColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'ContactTitle' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.ContactTitleColumn) = value
            End Set
        End Property
        
        Public Property Address() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.AddressColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Address' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.AddressColumn) = value
            End Set
        End Property
        
        Public Property City() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.CityColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'City' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.CityColumn) = value
            End Set
        End Property
        
        Public Property Region() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.RegionColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Region' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.RegionColumn) = value
            End Set
        End Property
        
        Public Property PostalCode() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.PostalCodeColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'PostalCode' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.PostalCodeColumn) = value
            End Set
        End Property
        
        Public Property Country() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.CountryColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Country' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.CountryColumn) = value
            End Set
        End Property
        
        Public Property Phone() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.PhoneColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Phone' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.PhoneColumn) = value
            End Set
        End Property
        
        Public Property Fax() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.FaxColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'Fax' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.FaxColumn) = value
            End Set
        End Property
        
        Public Property HomePage() As String
            Get
                Try 
                    Return CType(Me(Me.tableSuppliers.HomePageColumn),String)
                Catch e As System.InvalidCastException
                    Throw New System.Data.StrongTypingException("The value for column 'HomePage' in table 'Suppliers' is DBNull.", e)
                End Try
            End Get
            Set
                Me(Me.tableSuppliers.HomePageColumn) = value
            End Set
        End Property
        
        Public Function IsCompanyNameNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.CompanyNameColumn)
        End Function
        
        Public Sub SetCompanyNameNull()
            Me(Me.tableSuppliers.CompanyNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsContactNameNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.ContactNameColumn)
        End Function
        
        Public Sub SetContactNameNull()
            Me(Me.tableSuppliers.ContactNameColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsContactTitleNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.ContactTitleColumn)
        End Function
        
        Public Sub SetContactTitleNull()
            Me(Me.tableSuppliers.ContactTitleColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsAddressNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.AddressColumn)
        End Function
        
        Public Sub SetAddressNull()
            Me(Me.tableSuppliers.AddressColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsCityNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.CityColumn)
        End Function
        
        Public Sub SetCityNull()
            Me(Me.tableSuppliers.CityColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsRegionNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.RegionColumn)
        End Function
        
        Public Sub SetRegionNull()
            Me(Me.tableSuppliers.RegionColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPostalCodeNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.PostalCodeColumn)
        End Function
        
        Public Sub SetPostalCodeNull()
            Me(Me.tableSuppliers.PostalCodeColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsCountryNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.CountryColumn)
        End Function
        
        Public Sub SetCountryNull()
            Me(Me.tableSuppliers.CountryColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsPhoneNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.PhoneColumn)
        End Function
        
        Public Sub SetPhoneNull()
            Me(Me.tableSuppliers.PhoneColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsFaxNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.FaxColumn)
        End Function
        
        Public Sub SetFaxNull()
            Me(Me.tableSuppliers.FaxColumn) = System.Convert.DBNull
        End Sub
        
        Public Function IsHomePageNull() As Boolean
            Return Me.IsNull(Me.tableSuppliers.HomePageColumn)
        End Function
        
        Public Sub SetHomePageNull()
            Me(Me.tableSuppliers.HomePageColumn) = System.Convert.DBNull
        End Sub
        
        Public Function GetProductsRows() As ProductsRow()
            Return CType(MyBase.GetChildRows(Me.Table.ChildRelations("SuppliersProducts")),ProductsRow())
        End Function
    End Class
    
    Public Class CategoriesRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As CategoriesRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As CategoriesRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As CategoriesRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
    
    Public Class CustomersRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As CustomersRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As CustomersRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As CustomersRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
    
    Public Class EmployeesRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As EmployeesRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As EmployeesRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As EmployeesRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
    
    Public Class Order_DetailsRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As Order_DetailsRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As Order_DetailsRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As Order_DetailsRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
    
    Public Class OrdersRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As OrdersRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As OrdersRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As OrdersRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
    
    Public Class ProductsRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As ProductsRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As ProductsRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As ProductsRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
    
    Public Class ShippersRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As ShippersRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As ShippersRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As ShippersRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
    
    Public Class SuppliersRowChangeEvent
        Inherits System.EventArgs
        
        Private eventRow As SuppliersRow
        
        Private eventAction As System.Data.DataRowAction
        
        Public Sub New(ByVal row As SuppliersRow, ByVal action As System.Data.DataRowAction)
            MyBase.New
            Me.eventRow = row
            Me.eventAction = action
        End Sub
        
        Public ReadOnly Property Row() As SuppliersRow
            Get
                Return Me.eventRow
            End Get
        End Property
        
        Public ReadOnly Property Action() As System.Data.DataRowAction
            Get
                Return Me.eventAction
            End Get
        End Property
    End Class
End Class

Namespace NwindDataSetTableAdapters
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class CategoriesTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Categories"
            tableMapping.ColumnMappings.Add("CategoryID", "CategoryID")
            tableMapping.ColumnMappings.Add("CategoryName", "CategoryName")
            tableMapping.ColumnMappings.Add("Description", "Description")
            tableMapping.ColumnMappings.Add("Picture", "Picture")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Categories` WHERE ((`CategoryID` = ?) AND ((? = 1 AND `CategoryName`"& _ 
                " IS NULL) OR (`CategoryName` = ?)))"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Categories` (`CategoryName`, `Description`, `Picture`) VALUES (?, ?,"& _ 
                " ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Description", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarBinary, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Picture", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Categories` SET `CategoryName` = ?, `Description` = ?, `Picture` = ? WHER"& _ 
                "E ((`CategoryID` = ?) AND ((? = 1 AND `CategoryName` IS NULL) OR (`CategoryName`"& _ 
                " = ?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Description", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarBinary, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Picture", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryName", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT CategoryID, CategoryName, Description, Picture FROM Categories"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.CategoriesDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.CategoriesDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.CategoriesDataTable = New NwindDataSet.CategoriesDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.CategoriesDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Categories")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As Integer, ByVal p3 As String) As Integer
            Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1,Integer)
            If (p3 Is Nothing) Then
                Throw New System.ArgumentNullException("p3")
            Else
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = CType(p3,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal p1 As String, ByVal p2 As String, ByVal p3() As Byte) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(1).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(2).Value = CType(p3,Byte())
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update(ByVal p1 As String, ByVal p2 As String, ByVal p3() As Byte, ByVal p4 As Integer, ByVal p6 As String) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(1).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3,Byte())
            End If
            Me.Adapter.UpdateCommand.Parameters(3).Value = CType(p4,Integer)
            If (p6 Is Nothing) Then
                Throw New System.ArgumentNullException("p6")
            Else
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(p6,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class CustomersTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Customers"
            tableMapping.ColumnMappings.Add("CustomerID", "CustomerID")
            tableMapping.ColumnMappings.Add("CompanyName", "CompanyName")
            tableMapping.ColumnMappings.Add("ContactName", "ContactName")
            tableMapping.ColumnMappings.Add("ContactTitle", "ContactTitle")
            tableMapping.ColumnMappings.Add("Address", "Address")
            tableMapping.ColumnMappings.Add("City", "City")
            tableMapping.ColumnMappings.Add("Region", "Region")
            tableMapping.ColumnMappings.Add("PostalCode", "PostalCode")
            tableMapping.ColumnMappings.Add("Country", "Country")
            tableMapping.ColumnMappings.Add("Phone", "Phone")
            tableMapping.ColumnMappings.Add("Fax", "Fax")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Customers` WHERE ((`CustomerID` = ?) AND ((? = 1 AND `CompanyName` I"& _ 
                "S NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`Cont"& _ 
                "actName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) "& _ 
                "AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS"& _ 
                " NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND"& _ 
                " ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Count"& _ 
                "ry` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = "& _ 
                "?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Customers` (`CustomerID`, `CompanyName`, `ContactName`, `ContactTitl"& _ 
                "e`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `Phone`, `Fax`) VALUES"& _ 
                " (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Customers` SET `CustomerID` = ?, `CompanyName` = ?, `ContactName` = ?, `C"& _ 
                "ontactTitle` = ?, `Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Co"& _ 
                "untry` = ?, `Phone` = ?, `Fax` = ? WHERE ((`CustomerID` = ?) AND ((? = 1 AND `Co"& _ 
                "mpanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NUL"& _ 
                "L) OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactT"& _ 
                "itle` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 A"& _ 
                "ND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Regio"& _ 
                "n` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = "& _ 
                "1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR"& _ 
                " (`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p22", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p23", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p24", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p25", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p26", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p27", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p28", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p29", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p30", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p31", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p32", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address, City, Region,"& _ 
                " PostalCode, Country, Phone, Fax FROM Customers"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.CustomersDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.CustomersDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.CustomersDataTable = New NwindDataSet.CustomersDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.CustomersDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Customers")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As String, ByVal p3 As String, ByVal p5 As String, ByVal p7 As String, ByVal p9 As String, ByVal p11 As String, ByVal p13 As String, ByVal p15 As String, ByVal p17 As String, ByVal p19 As String, ByVal p21 As String) As Integer
            If (p1 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(0).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p3 Is Nothing) Then
                Throw New System.ArgumentNullException("p3")
            Else
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p5 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = CType(p11,String)
            End If
            If (p13 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = CType(p13,String)
            End If
            If (p15 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = CType(p15,String)
            End If
            If (p17 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = CType(p17,String)
            End If
            If (p19 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = CType(p19,String)
            End If
            If (p21 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = CType(p21,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal p1 As String, ByVal p2 As String, ByVal p3 As String, ByVal p4 As String, ByVal p5 As String, ByVal p6 As String, ByVal p7 As String, ByVal p8 As String, ByVal p9 As String, ByVal p10 As String, ByVal p11 As String) As Integer
            If (p1 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(0).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Throw New System.ArgumentNullException("p2")
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p6 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(5).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(5).Value = CType(p6,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(10).Value = CType(p11,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update( _
                    ByVal p1 As String,  _
                    ByVal p2 As String,  _
                    ByVal p3 As String,  _
                    ByVal p4 As String,  _
                    ByVal p5 As String,  _
                    ByVal p6 As String,  _
                    ByVal p7 As String,  _
                    ByVal p8 As String,  _
                    ByVal p9 As String,  _
                    ByVal p10 As String,  _
                    ByVal p11 As String,  _
                    ByVal p12 As String,  _
                    ByVal p14 As String,  _
                    ByVal p16 As String,  _
                    ByVal p18 As String,  _
                    ByVal p20 As String,  _
                    ByVal p22 As String,  _
                    ByVal p24 As String,  _
                    ByVal p26 As String,  _
                    ByVal p28 As String,  _
                    ByVal p30 As String,  _
                    ByVal p32 As String) As Integer
            If (p1 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(0).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Throw New System.ArgumentNullException("p2")
            Else
                Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p6 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(5).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(p6,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(10).Value = CType(p11,String)
            End If
            If (p12 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(11).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(11).Value = CType(p12,String)
            End If
            If (p14 Is Nothing) Then
                Throw New System.ArgumentNullException("p14")
            Else
                Me.Adapter.UpdateCommand.Parameters(12).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(13).Value = CType(p14,String)
            End If
            If (p16 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = CType(p16,String)
            End If
            If (p18 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = CType(p18,String)
            End If
            If (p20 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = CType(p20,String)
            End If
            If (p22 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = CType(p22,String)
            End If
            If (p24 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = CType(p24,String)
            End If
            If (p26 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = CType(p26,String)
            End If
            If (p28 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(26).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(27).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(26).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(27).Value = CType(p28,String)
            End If
            If (p30 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(28).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(29).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(28).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(29).Value = CType(p30,String)
            End If
            If (p32 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(30).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(31).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(30).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(31).Value = CType(p32,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class EmployeesTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Employees"
            tableMapping.ColumnMappings.Add("EmployeeID", "EmployeeID")
            tableMapping.ColumnMappings.Add("LastName", "LastName")
            tableMapping.ColumnMappings.Add("FirstName", "FirstName")
            tableMapping.ColumnMappings.Add("Title", "Title")
            tableMapping.ColumnMappings.Add("TitleOfCourtesy", "TitleOfCourtesy")
            tableMapping.ColumnMappings.Add("BirthDate", "BirthDate")
            tableMapping.ColumnMappings.Add("HireDate", "HireDate")
            tableMapping.ColumnMappings.Add("Address", "Address")
            tableMapping.ColumnMappings.Add("City", "City")
            tableMapping.ColumnMappings.Add("Region", "Region")
            tableMapping.ColumnMappings.Add("PostalCode", "PostalCode")
            tableMapping.ColumnMappings.Add("Country", "Country")
            tableMapping.ColumnMappings.Add("HomePhone", "HomePhone")
            tableMapping.ColumnMappings.Add("Extension", "Extension")
            tableMapping.ColumnMappings.Add("Photo", "Photo")
            tableMapping.ColumnMappings.Add("Notes", "Notes")
            tableMapping.ColumnMappings.Add("ReportsTo", "ReportsTo")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Employees` WHERE ((`EmployeeID` = ?) AND ((? = 1 AND `LastName` IS N"& _ 
                "ULL) OR (`LastName` = ?)) AND ((? = 1 AND `FirstName` IS NULL) OR (`FirstName` ="& _ 
                " ?)) AND ((? = 1 AND `Title` IS NULL) OR (`Title` = ?)) AND ((? = 1 AND `TitleOf"& _ 
                "Courtesy` IS NULL) OR (`TitleOfCourtesy` = ?)) AND ((? = 1 AND `BirthDate` IS NU"& _ 
                "LL) OR (`BirthDate` = ?)) AND ((? = 1 AND `HireDate` IS NULL) OR (`HireDate` = ?"& _ 
                ")) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City`"& _ 
                " IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) "& _ 
                "AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Co"& _ 
                "untry` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `HomePhone` IS NULL) OR (`Ho"& _ 
                "mePhone` = ?)) AND ((? = 1 AND `Extension` IS NULL) OR (`Extension` = ?)) AND (("& _ 
                "? = 1 AND `ReportsTo` IS NULL) OR (`ReportsTo` = ?)))"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "LastName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "LastName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "FirstName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "FirstName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Title", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Title", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "TitleOfCourtesy", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "TitleOfCourtesy", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "BirthDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "BirthDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HireDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HireDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p22", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p23", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p24", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePhone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p25", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePhone", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p26", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Extension", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p27", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Extension", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p28", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReportsTo", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p29", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReportsTo", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Employees` (`LastName`, `FirstName`, `Title`, `TitleOfCourtesy`, `Bi"& _ 
                "rthDate`, `HireDate`, `Address`, `City`, `Region`, `PostalCode`, `Country`, `Hom"& _ 
                "ePhone`, `Extension`, `Photo`, `Notes`, `ReportsTo`) VALUES (?, ?, ?, ?, ?, ?, ?"& _ 
                ", ?, ?, ?, ?, ?, ?, ?, ?, ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "LastName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "FirstName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Title", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "TitleOfCourtesy", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "BirthDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HireDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePhone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Extension", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.VarBinary, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Photo", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Notes", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReportsTo", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Employees` SET `LastName` = ?, `FirstName` = ?, `Title` = ?, `TitleOfCour"& _ 
                "tesy` = ?, `BirthDate` = ?, `HireDate` = ?, `Address` = ?, `City` = ?, `Region` "& _ 
                "= ?, `PostalCode` = ?, `Country` = ?, `HomePhone` = ?, `Extension` = ?, `Photo` "& _ 
                "= ?, `Notes` = ?, `ReportsTo` = ? WHERE ((`EmployeeID` = ?) AND ((? = 1 AND `Las"& _ 
                "tName` IS NULL) OR (`LastName` = ?)) AND ((? = 1 AND `FirstName` IS NULL) OR (`F"& _ 
                "irstName` = ?)) AND ((? = 1 AND `Title` IS NULL) OR (`Title` = ?)) AND ((? = 1 A"& _ 
                "ND `TitleOfCourtesy` IS NULL) OR (`TitleOfCourtesy` = ?)) AND ((? = 1 AND `Birth"& _ 
                "Date` IS NULL) OR (`BirthDate` = ?)) AND ((? = 1 AND `HireDate` IS NULL) OR (`Hi"& _ 
                "reDate` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1"& _ 
                " AND `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Reg"& _ 
                "ion` = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? "& _ 
                "= 1 AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `HomePhone` IS NU"& _ 
                "LL) OR (`HomePhone` = ?)) AND ((? = 1 AND `Extension` IS NULL) OR (`Extension` ="& _ 
                " ?)) AND ((? = 1 AND `ReportsTo` IS NULL) OR (`ReportsTo` = ?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "LastName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "FirstName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Title", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "TitleOfCourtesy", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "BirthDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HireDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePhone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Extension", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.VarBinary, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Photo", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Notes", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReportsTo", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "LastName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "LastName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "FirstName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "FirstName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p22", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Title", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p23", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Title", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p24", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "TitleOfCourtesy", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p25", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "TitleOfCourtesy", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p26", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "BirthDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p27", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "BirthDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p28", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HireDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p29", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HireDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p30", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p31", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p32", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p33", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p34", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p35", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p36", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p37", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p38", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p39", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p40", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePhone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p41", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePhone", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p42", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Extension", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p43", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Extension", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p44", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReportsTo", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p45", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReportsTo", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT EmployeeID, LastName, FirstName, Title, TitleOfCourtesy, BirthDate, HireDa"& _ 
                "te, Address, City, Region, PostalCode, Country, HomePhone, Extension, Photo, Not"& _ 
                "es, ReportsTo FROM Employees"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.EmployeesDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.EmployeesDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.EmployeesDataTable = New NwindDataSet.EmployeesDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.EmployeesDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Employees")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As Integer, ByVal p3 As String, ByVal p5 As String, ByVal p7 As String, ByVal p9 As String, ByVal p11 As System.Nullable(Of Date), ByVal p13 As System.Nullable(Of Date), ByVal p15 As String, ByVal p17 As String, ByVal p19 As String, ByVal p21 As String, ByVal p23 As String, ByVal p25 As String, ByVal p27 As String, ByVal p29 As System.Nullable(Of Integer)) As Integer
            Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1,Integer)
            If (p3 Is Nothing) Then
                Throw New System.ArgumentNullException("p3")
            Else
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p5 Is Nothing) Then
                Throw New System.ArgumentNullException("p5")
            Else
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p11.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = CType(p11.Value,Date)
            Else
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = System.DBNull.Value
            End If
            If (p13.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = CType(p13.Value,Date)
            Else
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = System.DBNull.Value
            End If
            If (p15 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = CType(p15,String)
            End If
            If (p17 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = CType(p17,String)
            End If
            If (p19 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = CType(p19,String)
            End If
            If (p21 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = CType(p21,String)
            End If
            If (p23 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(21).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(22).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(21).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(22).Value = CType(p23,String)
            End If
            If (p25 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(23).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(24).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(23).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(24).Value = CType(p25,String)
            End If
            If (p27 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(25).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(26).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(25).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(26).Value = CType(p27,String)
            End If
            If (p29.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(27).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(28).Value = CType(p29.Value,Integer)
            Else
                Me.Adapter.DeleteCommand.Parameters(27).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(28).Value = System.DBNull.Value
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert( _
                    ByVal p1 As String,  _
                    ByVal p2 As String,  _
                    ByVal p3 As String,  _
                    ByVal p4 As String,  _
                    ByVal p5 As System.Nullable(Of Date),  _
                    ByVal p6 As System.Nullable(Of Date),  _
                    ByVal p7 As String,  _
                    ByVal p8 As String,  _
                    ByVal p9 As String,  _
                    ByVal p10 As String,  _
                    ByVal p11 As String,  _
                    ByVal p12 As String,  _
                    ByVal p13 As String,  _
                    ByVal p14() As Byte,  _
                    ByVal p15 As String,  _
                    ByVal p16 As System.Nullable(Of Integer)) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Throw New System.ArgumentNullException("p2")
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(4).Value = CType(p5.Value,Date)
            Else
                Me.Adapter.InsertCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p6.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(5).Value = CType(p6.Value,Date)
            Else
                Me.Adapter.InsertCommand.Parameters(5).Value = System.DBNull.Value
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(10).Value = CType(p11,String)
            End If
            If (p12 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(11).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(11).Value = CType(p12,String)
            End If
            If (p13 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(12).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(12).Value = CType(p13,String)
            End If
            If (p14 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(13).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(13).Value = CType(p14,Byte())
            End If
            If (p15 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(14).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(14).Value = CType(p15,String)
            End If
            If (p16.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(15).Value = CType(p16.Value,Integer)
            Else
                Me.Adapter.InsertCommand.Parameters(15).Value = System.DBNull.Value
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update( _
                    ByVal p1 As String,  _
                    ByVal p2 As String,  _
                    ByVal p3 As String,  _
                    ByVal p4 As String,  _
                    ByVal p5 As System.Nullable(Of Date),  _
                    ByVal p6 As System.Nullable(Of Date),  _
                    ByVal p7 As String,  _
                    ByVal p8 As String,  _
                    ByVal p9 As String,  _
                    ByVal p10 As String,  _
                    ByVal p11 As String,  _
                    ByVal p12 As String,  _
                    ByVal p13 As String,  _
                    ByVal p14() As Byte,  _
                    ByVal p15 As String,  _
                    ByVal p16 As System.Nullable(Of Integer),  _
                    ByVal p17 As Integer,  _
                    ByVal p19 As String,  _
                    ByVal p21 As String,  _
                    ByVal p23 As String,  _
                    ByVal p25 As String,  _
                    ByVal p27 As System.Nullable(Of Date),  _
                    ByVal p29 As System.Nullable(Of Date),  _
                    ByVal p31 As String,  _
                    ByVal p33 As String,  _
                    ByVal p35 As String,  _
                    ByVal p37 As String,  _
                    ByVal p39 As String,  _
                    ByVal p41 As String,  _
                    ByVal p43 As String,  _
                    ByVal p45 As System.Nullable(Of Integer)) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Throw New System.ArgumentNullException("p2")
            Else
                Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(p5.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p6.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(p6.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(5).Value = System.DBNull.Value
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(10).Value = CType(p11,String)
            End If
            If (p12 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(11).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(11).Value = CType(p12,String)
            End If
            If (p13 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(12).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(12).Value = CType(p13,String)
            End If
            If (p14 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(13).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(13).Value = CType(p14,Byte())
            End If
            If (p15 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(14).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(p15,String)
            End If
            If (p16.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(15).Value = CType(p16.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(15).Value = System.DBNull.Value
            End If
            Me.Adapter.UpdateCommand.Parameters(16).Value = CType(p17,Integer)
            If (p19 Is Nothing) Then
                Throw New System.ArgumentNullException("p19")
            Else
                Me.Adapter.UpdateCommand.Parameters(17).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(p19,String)
            End If
            If (p21 Is Nothing) Then
                Throw New System.ArgumentNullException("p21")
            Else
                Me.Adapter.UpdateCommand.Parameters(19).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(p21,String)
            End If
            If (p23 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(21).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(22).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(21).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(p23,String)
            End If
            If (p25 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(23).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(24).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(23).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(p25,String)
            End If
            If (p27.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(25).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(26).Value = CType(p27.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(25).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(26).Value = System.DBNull.Value
            End If
            If (p29.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(27).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(28).Value = CType(p29.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(27).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(28).Value = System.DBNull.Value
            End If
            If (p31 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(29).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(30).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(29).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(30).Value = CType(p31,String)
            End If
            If (p33 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(31).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(32).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(31).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(32).Value = CType(p33,String)
            End If
            If (p35 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(33).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(34).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(33).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(34).Value = CType(p35,String)
            End If
            If (p37 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(35).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(36).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(35).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(36).Value = CType(p37,String)
            End If
            If (p39 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(37).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(38).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(37).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(38).Value = CType(p39,String)
            End If
            If (p41 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(39).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(40).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(39).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(40).Value = CType(p41,String)
            End If
            If (p43 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(41).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(42).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(41).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(42).Value = CType(p43,String)
            End If
            If (p45.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(43).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(44).Value = CType(p45.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(43).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(44).Value = System.DBNull.Value
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class Order_DetailsTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Order Details"
            tableMapping.ColumnMappings.Add("OrderID", "OrderID")
            tableMapping.ColumnMappings.Add("ProductID", "ProductID")
            tableMapping.ColumnMappings.Add("UnitPrice", "UnitPrice")
            tableMapping.ColumnMappings.Add("Quantity", "Quantity")
            tableMapping.ColumnMappings.Add("Discount", "Discount")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Order Details` WHERE ((`OrderID` = ?) AND (`ProductID` = ?) AND ((? "& _ 
                "= 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `Quantity` IS"& _ 
                " NULL) OR (`Quantity` = ?)) AND ((? = 1 AND `Discount` IS NULL) OR (`Discount` ="& _ 
                " ?)))"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Quantity", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Quantity", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discount", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.[Single], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discount", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Order Details` (`OrderID`, `ProductID`, `UnitPrice`, `Quantity`, `Di"& _ 
                "scount`) VALUES (?, ?, ?, ?, ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Quantity", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.[Single], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discount", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Order Details` SET `OrderID` = ?, `ProductID` = ?, `UnitPrice` = ?, `Quan"& _ 
                "tity` = ?, `Discount` = ? WHERE ((`OrderID` = ?) AND (`ProductID` = ?) AND ((? ="& _ 
                " 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `Quantity` IS "& _ 
                "NULL) OR (`Quantity` = ?)) AND ((? = 1 AND `Discount` IS NULL) OR (`Discount` = "& _ 
                "?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Quantity", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.[Single], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discount", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Quantity", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Quantity", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discount", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.[Single], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discount", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT OrderID, ProductID, UnitPrice, Quantity, Discount FROM [Order Details]"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.Order_DetailsDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.Order_DetailsDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.Order_DetailsDataTable = New NwindDataSet.Order_DetailsDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.Order_DetailsDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Order Details")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As System.Nullable(Of Integer), ByVal p2 As Integer, ByVal p4 As Decimal, ByVal p6 As Short, ByVal p8 As System.Nullable(Of Single)) As Integer
            If (p1.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1.Value,Integer)
            Else
                Me.Adapter.DeleteCommand.Parameters(0).Value = System.DBNull.Value
            End If
            Me.Adapter.DeleteCommand.Parameters(1).Value = CType(p2,Integer)
            Me.Adapter.DeleteCommand.Parameters(2).Value = CType(0,Integer)
            Me.Adapter.DeleteCommand.Parameters(3).Value = CType(p4,Decimal)
            Me.Adapter.DeleteCommand.Parameters(4).Value = CType(0,Integer)
            Me.Adapter.DeleteCommand.Parameters(5).Value = CType(p6,Short)
            If (p8.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(6).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(p8.Value,Single)
            Else
                Me.Adapter.DeleteCommand.Parameters(6).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(7).Value = System.DBNull.Value
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal p1 As System.Nullable(Of Integer), ByVal p2 As Integer, ByVal p3 As Decimal, ByVal p4 As Short, ByVal p5 As System.Nullable(Of Single)) As Integer
            If (p1.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1.Value,Integer)
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = System.DBNull.Value
            End If
            Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2,Integer)
            Me.Adapter.InsertCommand.Parameters(2).Value = CType(p3,Decimal)
            Me.Adapter.InsertCommand.Parameters(3).Value = CType(p4,Short)
            If (p5.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(4).Value = CType(p5.Value,Single)
            Else
                Me.Adapter.InsertCommand.Parameters(4).Value = System.DBNull.Value
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update(ByVal p1 As System.Nullable(Of Integer), ByVal p2 As Integer, ByVal p3 As Decimal, ByVal p4 As Short, ByVal p5 As System.Nullable(Of Single), ByVal p6 As System.Nullable(Of Integer), ByVal p7 As Integer, ByVal p9 As Decimal, ByVal p11 As Short, ByVal p13 As System.Nullable(Of Single)) As Integer
            If (p1.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = System.DBNull.Value
            End If
            Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2,Integer)
            Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3,Decimal)
            Me.Adapter.UpdateCommand.Parameters(3).Value = CType(p4,Short)
            If (p5.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(p5.Value,Single)
            Else
                Me.Adapter.UpdateCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p6.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(p6.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(5).Value = System.DBNull.Value
            End If
            Me.Adapter.UpdateCommand.Parameters(6).Value = CType(p7,Integer)
            Me.Adapter.UpdateCommand.Parameters(7).Value = CType(0,Integer)
            Me.Adapter.UpdateCommand.Parameters(8).Value = CType(p9,Decimal)
            Me.Adapter.UpdateCommand.Parameters(9).Value = CType(0,Integer)
            Me.Adapter.UpdateCommand.Parameters(10).Value = CType(p11,Short)
            If (p13.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(11).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(12).Value = CType(p13.Value,Single)
            Else
                Me.Adapter.UpdateCommand.Parameters(11).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(12).Value = System.DBNull.Value
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class OrdersTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Orders"
            tableMapping.ColumnMappings.Add("OrderID", "OrderID")
            tableMapping.ColumnMappings.Add("CustomerID", "CustomerID")
            tableMapping.ColumnMappings.Add("EmployeeID", "EmployeeID")
            tableMapping.ColumnMappings.Add("OrderDate", "OrderDate")
            tableMapping.ColumnMappings.Add("RequiredDate", "RequiredDate")
            tableMapping.ColumnMappings.Add("ShippedDate", "ShippedDate")
            tableMapping.ColumnMappings.Add("ShipVia", "ShipVia")
            tableMapping.ColumnMappings.Add("Freight", "Freight")
            tableMapping.ColumnMappings.Add("ShipName", "ShipName")
            tableMapping.ColumnMappings.Add("ShipAddress", "ShipAddress")
            tableMapping.ColumnMappings.Add("ShipCity", "ShipCity")
            tableMapping.ColumnMappings.Add("ShipRegion", "ShipRegion")
            tableMapping.ColumnMappings.Add("ShipPostalCode", "ShipPostalCode")
            tableMapping.ColumnMappings.Add("ShipCountry", "ShipCountry")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Orders` WHERE ((`OrderID` = ?) AND ((? = 1 AND `CustomerID` IS NULL)"& _ 
                " OR (`CustomerID` = ?)) AND ((? = 1 AND `EmployeeID` IS NULL) OR (`EmployeeID` ="& _ 
                " ?)) AND ((? = 1 AND `OrderDate` IS NULL) OR (`OrderDate` = ?)) AND ((? = 1 AND "& _ 
                "`RequiredDate` IS NULL) OR (`RequiredDate` = ?)) AND ((? = 1 AND `ShippedDate` I"& _ 
                "S NULL) OR (`ShippedDate` = ?)) AND ((? = 1 AND `ShipVia` IS NULL) OR (`ShipVia`"& _ 
                " = ?)) AND ((? = 1 AND `Freight` IS NULL) OR (`Freight` = ?)) AND ((? = 1 AND `S"& _ 
                "hipName` IS NULL) OR (`ShipName` = ?)) AND ((? = 1 AND `ShipAddress` IS NULL) OR"& _ 
                " (`ShipAddress` = ?)) AND ((? = 1 AND `ShipCity` IS NULL) OR (`ShipCity` = ?)) A"& _ 
                "ND ((? = 1 AND `ShipRegion` IS NULL) OR (`ShipRegion` = ?)) AND ((? = 1 AND `Shi"& _ 
                "pPostalCode` IS NULL) OR (`ShipPostalCode` = ?)) AND ((? = 1 AND `ShipCountry` I"& _ 
                "S NULL) OR (`ShipCountry` = ?)))"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "RequiredDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "RequiredDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShippedDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShippedDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipVia", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipVia", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Freight", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Freight", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipAddress", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipAddress", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCity", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCity", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p22", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipRegion", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p23", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipRegion", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p24", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipPostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p25", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipPostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p26", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCountry", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p27", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCountry", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Orders` (`CustomerID`, `EmployeeID`, `OrderDate`, `RequiredDate`, `S"& _ 
                "hippedDate`, `ShipVia`, `Freight`, `ShipName`, `ShipAddress`, `ShipCity`, `ShipR"& _ 
                "egion`, `ShipPostalCode`, `ShipCountry`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?"& _ 
                ", ?, ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "RequiredDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShippedDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipVia", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Freight", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipAddress", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCity", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipRegion", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipPostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCountry", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Orders` SET `CustomerID` = ?, `EmployeeID` = ?, `OrderDate` = ?, `Require"& _ 
                "dDate` = ?, `ShippedDate` = ?, `ShipVia` = ?, `Freight` = ?, `ShipName` = ?, `Sh"& _ 
                "ipAddress` = ?, `ShipCity` = ?, `ShipRegion` = ?, `ShipPostalCode` = ?, `ShipCou"& _ 
                "ntry` = ? WHERE ((`OrderID` = ?) AND ((? = 1 AND `CustomerID` IS NULL) OR (`Cust"& _ 
                "omerID` = ?)) AND ((? = 1 AND `EmployeeID` IS NULL) OR (`EmployeeID` = ?)) AND ("& _ 
                "(? = 1 AND `OrderDate` IS NULL) OR (`OrderDate` = ?)) AND ((? = 1 AND `RequiredD"& _ 
                "ate` IS NULL) OR (`RequiredDate` = ?)) AND ((? = 1 AND `ShippedDate` IS NULL) OR"& _ 
                " (`ShippedDate` = ?)) AND ((? = 1 AND `ShipVia` IS NULL) OR (`ShipVia` = ?)) AND"& _ 
                " ((? = 1 AND `Freight` IS NULL) OR (`Freight` = ?)) AND ((? = 1 AND `ShipName` I"& _ 
                "S NULL) OR (`ShipName` = ?)) AND ((? = 1 AND `ShipAddress` IS NULL) OR (`ShipAdd"& _ 
                "ress` = ?)) AND ((? = 1 AND `ShipCity` IS NULL) OR (`ShipCity` = ?)) AND ((? = 1"& _ 
                " AND `ShipRegion` IS NULL) OR (`ShipRegion` = ?)) AND ((? = 1 AND `ShipPostalCod"& _ 
                "e` IS NULL) OR (`ShipPostalCode` = ?)) AND ((? = 1 AND `ShipCountry` IS NULL) OR"& _ 
                " (`ShipCountry` = ?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "RequiredDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShippedDate", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipVia", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Freight", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipAddress", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCity", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipRegion", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipPostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCountry", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CustomerID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "EmployeeID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "OrderDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "RequiredDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p22", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "RequiredDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p23", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShippedDate", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p24", System.Data.OleDb.OleDbType.DBTimeStamp, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShippedDate", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p25", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipVia", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p26", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipVia", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p27", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Freight", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p28", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Freight", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p29", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p30", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p31", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipAddress", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p32", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipAddress", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p33", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCity", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p34", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCity", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p35", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipRegion", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p36", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipRegion", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p37", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipPostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p38", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipPostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p39", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCountry", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p40", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipCountry", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT OrderID, CustomerID, EmployeeID, OrderDate, RequiredDate, ShippedDate, Shi"& _ 
                "pVia, Freight, ShipName, ShipAddress, ShipCity, ShipRegion, ShipPostalCode, Ship"& _ 
                "Country FROM Orders"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.OrdersDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.OrdersDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.OrdersDataTable = New NwindDataSet.OrdersDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.OrdersDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Orders")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As Integer, ByVal p3 As String, ByVal p5 As System.Nullable(Of Integer), ByVal p7 As System.Nullable(Of Date), ByVal p9 As System.Nullable(Of Date), ByVal p11 As System.Nullable(Of Date), ByVal p13 As System.Nullable(Of Integer), ByVal p15 As System.Nullable(Of Decimal), ByVal p17 As String, ByVal p19 As String, ByVal p21 As String, ByVal p23 As String, ByVal p25 As String, ByVal p27 As String) As Integer
            Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1,Integer)
            If (p3 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = CType(p5.Value,Integer)
            Else
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p7.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = CType(p7.Value,Date)
            Else
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = System.DBNull.Value
            End If
            If (p9.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = CType(p9.Value,Date)
            Else
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = System.DBNull.Value
            End If
            If (p11.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = CType(p11.Value,Date)
            Else
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = System.DBNull.Value
            End If
            If (p13.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = CType(p13.Value,Integer)
            Else
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = System.DBNull.Value
            End If
            If (p15.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = CType(p15.Value,Decimal)
            Else
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = System.DBNull.Value
            End If
            If (p17 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = CType(p17,String)
            End If
            If (p19 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = CType(p19,String)
            End If
            If (p21 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = CType(p21,String)
            End If
            If (p23 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(21).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(22).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(21).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(22).Value = CType(p23,String)
            End If
            If (p25 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(23).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(24).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(23).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(24).Value = CType(p25,String)
            End If
            If (p27 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(25).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(26).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(25).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(26).Value = CType(p27,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal p1 As String, ByVal p2 As System.Nullable(Of Integer), ByVal p3 As System.Nullable(Of Date), ByVal p4 As System.Nullable(Of Date), ByVal p5 As System.Nullable(Of Date), ByVal p6 As System.Nullable(Of Integer), ByVal p7 As System.Nullable(Of Decimal), ByVal p8 As String, ByVal p9 As String, ByVal p10 As String, ByVal p11 As String, ByVal p12 As String, ByVal p13 As String) As Integer
            If (p1 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(0).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2.Value,Integer)
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = System.DBNull.Value
            End If
            If (p3.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(2).Value = CType(p3.Value,Date)
            Else
                Me.Adapter.InsertCommand.Parameters(2).Value = System.DBNull.Value
            End If
            If (p4.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(3).Value = CType(p4.Value,Date)
            Else
                Me.Adapter.InsertCommand.Parameters(3).Value = System.DBNull.Value
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(4).Value = CType(p5.Value,Date)
            Else
                Me.Adapter.InsertCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p6.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(5).Value = CType(p6.Value,Integer)
            Else
                Me.Adapter.InsertCommand.Parameters(5).Value = System.DBNull.Value
            End If
            If (p7.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(6).Value = CType(p7.Value,Decimal)
            Else
                Me.Adapter.InsertCommand.Parameters(6).Value = System.DBNull.Value
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(10).Value = CType(p11,String)
            End If
            If (p12 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(11).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(11).Value = CType(p12,String)
            End If
            If (p13 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(12).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(12).Value = CType(p13,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update( _
                    ByVal p1 As String,  _
                    ByVal p2 As System.Nullable(Of Integer),  _
                    ByVal p3 As System.Nullable(Of Date),  _
                    ByVal p4 As System.Nullable(Of Date),  _
                    ByVal p5 As System.Nullable(Of Date),  _
                    ByVal p6 As System.Nullable(Of Integer),  _
                    ByVal p7 As System.Nullable(Of Decimal),  _
                    ByVal p8 As String,  _
                    ByVal p9 As String,  _
                    ByVal p10 As String,  _
                    ByVal p11 As String,  _
                    ByVal p12 As String,  _
                    ByVal p13 As String,  _
                    ByVal p14 As Integer,  _
                    ByVal p16 As String,  _
                    ByVal p18 As System.Nullable(Of Integer),  _
                    ByVal p20 As System.Nullable(Of Date),  _
                    ByVal p22 As System.Nullable(Of Date),  _
                    ByVal p24 As System.Nullable(Of Date),  _
                    ByVal p26 As System.Nullable(Of Integer),  _
                    ByVal p28 As System.Nullable(Of Decimal),  _
                    ByVal p30 As String,  _
                    ByVal p32 As String,  _
                    ByVal p34 As String,  _
                    ByVal p36 As String,  _
                    ByVal p38 As String,  _
                    ByVal p40 As String) As Integer
            If (p1 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(0).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(1).Value = System.DBNull.Value
            End If
            If (p3.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(2).Value = System.DBNull.Value
            End If
            If (p4.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(3).Value = CType(p4.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(3).Value = System.DBNull.Value
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(p5.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p6.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(p6.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(5).Value = System.DBNull.Value
            End If
            If (p7.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(6).Value = CType(p7.Value,Decimal)
            Else
                Me.Adapter.UpdateCommand.Parameters(6).Value = System.DBNull.Value
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(10).Value = CType(p11,String)
            End If
            If (p12 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(11).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(11).Value = CType(p12,String)
            End If
            If (p13 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(12).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(12).Value = CType(p13,String)
            End If
            Me.Adapter.UpdateCommand.Parameters(13).Value = CType(p14,Integer)
            If (p16 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = CType(p16,String)
            End If
            If (p18.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = CType(p18.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = System.DBNull.Value
            End If
            If (p20.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = CType(p20.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = System.DBNull.Value
            End If
            If (p22.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = CType(p22.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = System.DBNull.Value
            End If
            If (p24.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = CType(p24.Value,Date)
            Else
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = System.DBNull.Value
            End If
            If (p26.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = CType(p26.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = System.DBNull.Value
            End If
            If (p28.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(26).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(27).Value = CType(p28.Value,Decimal)
            Else
                Me.Adapter.UpdateCommand.Parameters(26).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(27).Value = System.DBNull.Value
            End If
            If (p30 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(28).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(29).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(28).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(29).Value = CType(p30,String)
            End If
            If (p32 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(30).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(31).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(30).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(31).Value = CType(p32,String)
            End If
            If (p34 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(32).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(33).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(32).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(33).Value = CType(p34,String)
            End If
            If (p36 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(34).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(35).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(34).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(35).Value = CType(p36,String)
            End If
            If (p38 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(36).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(37).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(36).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(37).Value = CType(p38,String)
            End If
            If (p40 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(38).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(39).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(38).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(39).Value = CType(p40,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class ProductsTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Products"
            tableMapping.ColumnMappings.Add("ProductID", "ProductID")
            tableMapping.ColumnMappings.Add("ProductName", "ProductName")
            tableMapping.ColumnMappings.Add("SupplierID", "SupplierID")
            tableMapping.ColumnMappings.Add("CategoryID", "CategoryID")
            tableMapping.ColumnMappings.Add("QuantityPerUnit", "QuantityPerUnit")
            tableMapping.ColumnMappings.Add("UnitPrice", "UnitPrice")
            tableMapping.ColumnMappings.Add("UnitsInStock", "UnitsInStock")
            tableMapping.ColumnMappings.Add("UnitsOnOrder", "UnitsOnOrder")
            tableMapping.ColumnMappings.Add("ReorderLevel", "ReorderLevel")
            tableMapping.ColumnMappings.Add("Discontinued", "Discontinued")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Products` WHERE ((`ProductID` = ?) AND ((? = 1 AND `ProductName` IS "& _ 
                "NULL) OR (`ProductName` = ?)) AND ((? = 1 AND `SupplierID` IS NULL) OR (`Supplie"& _ 
                "rID` = ?)) AND ((? = 1 AND `CategoryID` IS NULL) OR (`CategoryID` = ?)) AND ((? "& _ 
                "= 1 AND `QuantityPerUnit` IS NULL) OR (`QuantityPerUnit` = ?)) AND ((? = 1 AND `"& _ 
                "UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `UnitsInStock` IS NULL"& _ 
                ") OR (`UnitsInStock` = ?)) AND ((? = 1 AND `UnitsOnOrder` IS NULL) OR (`UnitsOnO"& _ 
                "rder` = ?)) AND ((? = 1 AND `ReorderLevel` IS NULL) OR (`ReorderLevel` = ?)) AND"& _ 
                " ((? = 1 AND `Discontinued` IS NULL) OR (`Discontinued` = ?)))"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "QuantityPerUnit", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "QuantityPerUnit", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsInStock", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsInStock", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsOnOrder", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsOnOrder", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReorderLevel", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReorderLevel", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discontinued", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.[Boolean], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discontinued", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Products` (`ProductName`, `SupplierID`, `CategoryID`, `QuantityPerUn"& _ 
                "it`, `UnitPrice`, `UnitsInStock`, `UnitsOnOrder`, `ReorderLevel`, `Discontinued`"& _ 
                ") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "QuantityPerUnit", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsInStock", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsOnOrder", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReorderLevel", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.[Boolean], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discontinued", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Products` SET `ProductName` = ?, `SupplierID` = ?, `CategoryID` = ?, `Qua"& _ 
                "ntityPerUnit` = ?, `UnitPrice` = ?, `UnitsInStock` = ?, `UnitsOnOrder` = ?, `Reo"& _ 
                "rderLevel` = ?, `Discontinued` = ? WHERE ((`ProductID` = ?) AND ((? = 1 AND `Pro"& _ 
                "ductName` IS NULL) OR (`ProductName` = ?)) AND ((? = 1 AND `SupplierID` IS NULL)"& _ 
                " OR (`SupplierID` = ?)) AND ((? = 1 AND `CategoryID` IS NULL) OR (`CategoryID` ="& _ 
                " ?)) AND ((? = 1 AND `QuantityPerUnit` IS NULL) OR (`QuantityPerUnit` = ?)) AND "& _ 
                "((? = 1 AND `UnitPrice` IS NULL) OR (`UnitPrice` = ?)) AND ((? = 1 AND `UnitsInS"& _ 
                "tock` IS NULL) OR (`UnitsInStock` = ?)) AND ((? = 1 AND `UnitsOnOrder` IS NULL) "& _ 
                "OR (`UnitsOnOrder` = ?)) AND ((? = 1 AND `ReorderLevel` IS NULL) OR (`ReorderLev"& _ 
                "el` = ?)) AND ((? = 1 AND `Discontinued` IS NULL) OR (`Discontinued` = ?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "QuantityPerUnit", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsInStock", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsOnOrder", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReorderLevel", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.[Boolean], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discontinued", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ProductName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CategoryID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "QuantityPerUnit", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "QuantityPerUnit", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.Currency, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitPrice", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsInStock", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p22", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsInStock", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p23", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsOnOrder", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p24", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "UnitsOnOrder", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p25", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReorderLevel", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p26", System.Data.OleDb.OleDbType.SmallInt, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ReorderLevel", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p27", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discontinued", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p28", System.Data.OleDb.OleDbType.[Boolean], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Discontinued", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice"& _ 
                ", UnitsInStock, UnitsOnOrder, ReorderLevel, Discontinued FROM Products"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.ProductsDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.ProductsDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.ProductsDataTable = New NwindDataSet.ProductsDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.ProductsDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Products")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As Integer, ByVal p3 As String, ByVal p5 As System.Nullable(Of Integer), ByVal p7 As System.Nullable(Of Integer), ByVal p9 As String, ByVal p11 As System.Nullable(Of Decimal), ByVal p13 As System.Nullable(Of Short), ByVal p15 As System.Nullable(Of Short), ByVal p17 As System.Nullable(Of Short), ByVal p19 As Boolean) As Integer
            Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1,Integer)
            If (p3 Is Nothing) Then
                Throw New System.ArgumentNullException("p3")
            Else
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = CType(p5.Value,Integer)
            Else
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p7.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = CType(p7.Value,Integer)
            Else
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = System.DBNull.Value
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p11.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = CType(p11.Value,Decimal)
            Else
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = System.DBNull.Value
            End If
            If (p13.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = CType(p13.Value,Short)
            Else
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = System.DBNull.Value
            End If
            If (p15.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = CType(p15.Value,Short)
            Else
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = System.DBNull.Value
            End If
            If (p17.HasValue = true) Then
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = CType(p17.Value,Short)
            Else
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = System.DBNull.Value
            End If
            Me.Adapter.DeleteCommand.Parameters(17).Value = CType(0,Integer)
            Me.Adapter.DeleteCommand.Parameters(18).Value = CType(p19,Boolean)
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal p1 As String, ByVal p2 As System.Nullable(Of Integer), ByVal p3 As System.Nullable(Of Integer), ByVal p4 As String, ByVal p5 As System.Nullable(Of Decimal), ByVal p6 As System.Nullable(Of Short), ByVal p7 As System.Nullable(Of Short), ByVal p8 As System.Nullable(Of Short), ByVal p9 As Boolean) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2.Value,Integer)
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = System.DBNull.Value
            End If
            If (p3.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(2).Value = CType(p3.Value,Integer)
            Else
                Me.Adapter.InsertCommand.Parameters(2).Value = System.DBNull.Value
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(4).Value = CType(p5.Value,Decimal)
            Else
                Me.Adapter.InsertCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p6.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(5).Value = CType(p6.Value,Short)
            Else
                Me.Adapter.InsertCommand.Parameters(5).Value = System.DBNull.Value
            End If
            If (p7.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(6).Value = CType(p7.Value,Short)
            Else
                Me.Adapter.InsertCommand.Parameters(6).Value = System.DBNull.Value
            End If
            If (p8.HasValue = true) Then
                Me.Adapter.InsertCommand.Parameters(7).Value = CType(p8.Value,Short)
            Else
                Me.Adapter.InsertCommand.Parameters(7).Value = System.DBNull.Value
            End If
            Me.Adapter.InsertCommand.Parameters(8).Value = CType(p9,Boolean)
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update( _
                    ByVal p1 As String,  _
                    ByVal p2 As System.Nullable(Of Integer),  _
                    ByVal p3 As System.Nullable(Of Integer),  _
                    ByVal p4 As String,  _
                    ByVal p5 As System.Nullable(Of Decimal),  _
                    ByVal p6 As System.Nullable(Of Short),  _
                    ByVal p7 As System.Nullable(Of Short),  _
                    ByVal p8 As System.Nullable(Of Short),  _
                    ByVal p9 As Boolean,  _
                    ByVal p10 As Integer,  _
                    ByVal p12 As String,  _
                    ByVal p14 As System.Nullable(Of Integer),  _
                    ByVal p16 As System.Nullable(Of Integer),  _
                    ByVal p18 As String,  _
                    ByVal p20 As System.Nullable(Of Decimal),  _
                    ByVal p22 As System.Nullable(Of Short),  _
                    ByVal p24 As System.Nullable(Of Short),  _
                    ByVal p26 As System.Nullable(Of Short),  _
                    ByVal p28 As Boolean) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(1).Value = System.DBNull.Value
            End If
            If (p3.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(2).Value = System.DBNull.Value
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(p5.Value,Decimal)
            Else
                Me.Adapter.UpdateCommand.Parameters(4).Value = System.DBNull.Value
            End If
            If (p6.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(p6.Value,Short)
            Else
                Me.Adapter.UpdateCommand.Parameters(5).Value = System.DBNull.Value
            End If
            If (p7.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(6).Value = CType(p7.Value,Short)
            Else
                Me.Adapter.UpdateCommand.Parameters(6).Value = System.DBNull.Value
            End If
            If (p8.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(7).Value = CType(p8.Value,Short)
            Else
                Me.Adapter.UpdateCommand.Parameters(7).Value = System.DBNull.Value
            End If
            Me.Adapter.UpdateCommand.Parameters(8).Value = CType(p9,Boolean)
            Me.Adapter.UpdateCommand.Parameters(9).Value = CType(p10,Integer)
            If (p12 Is Nothing) Then
                Throw New System.ArgumentNullException("p12")
            Else
                Me.Adapter.UpdateCommand.Parameters(10).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(11).Value = CType(p12,String)
            End If
            If (p14.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(12).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(13).Value = CType(p14.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(12).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(13).Value = System.DBNull.Value
            End If
            If (p16.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = CType(p16.Value,Integer)
            Else
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = System.DBNull.Value
            End If
            If (p18 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = CType(p18,String)
            End If
            If (p20.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = CType(p20.Value,Decimal)
            Else
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = System.DBNull.Value
            End If
            If (p22.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = CType(p22.Value,Short)
            Else
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = System.DBNull.Value
            End If
            If (p24.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = CType(p24.Value,Short)
            Else
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = System.DBNull.Value
            End If
            If (p26.HasValue = true) Then
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = CType(p26.Value,Short)
            Else
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = System.DBNull.Value
            End If
            Me.Adapter.UpdateCommand.Parameters(26).Value = CType(0,Integer)
            Me.Adapter.UpdateCommand.Parameters(27).Value = CType(p28,Boolean)
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class ShippersTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Shippers"
            tableMapping.ColumnMappings.Add("ShipperID", "ShipperID")
            tableMapping.ColumnMappings.Add("CompanyName", "CompanyName")
            tableMapping.ColumnMappings.Add("Phone", "Phone")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Shippers` WHERE ((`ShipperID` = ?) AND ((? = 1 AND `CompanyName` IS "& _ 
                "NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = ?))"& _ 
                ")"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipperID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Shippers` (`CompanyName`, `Phone`) VALUES (?, ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Shippers` SET `CompanyName` = ?, `Phone` = ? WHERE ((`ShipperID` = ?) AND"& _ 
                " ((? = 1 AND `CompanyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `Pho"& _ 
                "ne` IS NULL) OR (`Phone` = ?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ShipperID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT ShipperID, CompanyName, Phone FROM Shippers"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.ShippersDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.ShippersDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.ShippersDataTable = New NwindDataSet.ShippersDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.ShippersDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Shippers")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As Integer, ByVal p3 As String, ByVal p5 As String) As Integer
            Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1,Integer)
            If (p3 Is Nothing) Then
                Throw New System.ArgumentNullException("p3")
            Else
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p5 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = CType(p5,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal p1 As String, ByVal p2 As String) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(1).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update(ByVal p1 As String, ByVal p2 As String, ByVal p3 As Integer, ByVal p5 As String, ByVal p7 As String) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(1).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2,String)
            End If
            Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3,Integer)
            If (p5 Is Nothing) Then
                Throw New System.ArgumentNullException("p5")
            Else
                Me.Adapter.UpdateCommand.Parameters(3).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(6).Value = CType(p7,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
    
    <System.ComponentModel.DesignerCategoryAttribute("code"),  _
     System.ComponentModel.ToolboxItem(true),  _
     System.ComponentModel.DataObjectAttribute(true),  _
     System.ComponentModel.DesignerAttribute("Microsoft.VSDesigner.DataSource.Design.TableAdapterDesigner, Microsoft.VSDesigner"& _ 
        ", Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"),  _
     System.ComponentModel.Design.HelpKeywordAttribute("vs.data.TableAdapter")>  _
    Partial Public Class SuppliersTableAdapter
        Inherits System.ComponentModel.Component
        
        Private WithEvents m_adapter As System.Data.OleDb.OleDbDataAdapter
        
        Private m_connection As System.Data.OleDb.OleDbConnection
        
        Private m_commandCollection() As System.Data.OleDb.OleDbCommand
        
        Private m_clearBeforeFill As Boolean
        
        Public Sub New()
            MyBase.New
            Me.m_clearBeforeFill = true
        End Sub
        
        Private ReadOnly Property Adapter() As System.Data.OleDb.OleDbDataAdapter
            Get
                If (Me.m_adapter Is Nothing) Then
                    Me.InitAdapter
                End If
                Return Me.m_adapter
            End Get
        End Property
        
        Friend Property Connection() As System.Data.OleDb.OleDbConnection
            Get
                If (Me.m_connection Is Nothing) Then
                    Me.InitConnection
                End If
                Return Me.m_connection
            End Get
            Set
                Me.m_connection = value
                If (Not (Me.Adapter.InsertCommand) Is Nothing) Then
                    Me.Adapter.InsertCommand.Connection = value
                End If
                If (Not (Me.Adapter.DeleteCommand) Is Nothing) Then
                    Me.Adapter.DeleteCommand.Connection = value
                End If
                If (Not (Me.Adapter.UpdateCommand) Is Nothing) Then
                    Me.Adapter.UpdateCommand.Connection = value
                End If
                Dim i As Integer = 0
                Do While (i < Me.CommandCollection.Length)
                    If (Not (Me.CommandCollection(i)) Is Nothing) Then
                        CType(Me.CommandCollection(i),System.Data.OleDb.OleDbCommand).Connection = value
                    End If
                    i = (i + 1)
                Loop
            End Set
        End Property
        
        Protected ReadOnly Property CommandCollection() As System.Data.OleDb.OleDbCommand()
            Get
                If (Me.m_commandCollection Is Nothing) Then
                    Me.InitCommandCollection
                End If
                Return Me.m_commandCollection
            End Get
        End Property
        
        Public Property ClearBeforeFill() As Boolean
            Get
                Return Me.m_clearBeforeFill
            End Get
            Set
                Me.m_clearBeforeFill = value
            End Set
        End Property
        
        Private Sub InitAdapter()
            Me.m_adapter = New System.Data.OleDb.OleDbDataAdapter
            Dim tableMapping As System.Data.Common.DataTableMapping = New System.Data.Common.DataTableMapping
            tableMapping.SourceTable = "Table"
            tableMapping.DataSetTable = "Suppliers"
            tableMapping.ColumnMappings.Add("SupplierID", "SupplierID")
            tableMapping.ColumnMappings.Add("CompanyName", "CompanyName")
            tableMapping.ColumnMappings.Add("ContactName", "ContactName")
            tableMapping.ColumnMappings.Add("ContactTitle", "ContactTitle")
            tableMapping.ColumnMappings.Add("Address", "Address")
            tableMapping.ColumnMappings.Add("City", "City")
            tableMapping.ColumnMappings.Add("Region", "Region")
            tableMapping.ColumnMappings.Add("PostalCode", "PostalCode")
            tableMapping.ColumnMappings.Add("Country", "Country")
            tableMapping.ColumnMappings.Add("Phone", "Phone")
            tableMapping.ColumnMappings.Add("Fax", "Fax")
            tableMapping.ColumnMappings.Add("HomePage", "HomePage")
            Me.m_adapter.TableMappings.Add(tableMapping)
            Me.m_adapter.DeleteCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.DeleteCommand.Connection = Me.Connection
            Me.m_adapter.DeleteCommand.CommandText = "DELETE FROM `Suppliers` WHERE ((`SupplierID` = ?) AND ((? = 1 AND `CompanyName` I"& _ 
                "S NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL) OR (`Cont"& _ 
                "actName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTitle` = ?)) "& _ 
                "AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND `City` IS"& _ 
                " NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region` = ?)) AND"& _ 
                " ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 AND `Count"& _ 
                "ry` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR (`Phone` = "& _ 
                "?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"
            Me.m_adapter.DeleteCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.DeleteCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.InsertCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.InsertCommand.Connection = Me.Connection
            Me.m_adapter.InsertCommand.CommandText = "INSERT INTO `Suppliers` (`CompanyName`, `ContactName`, `ContactTitle`, `Address`,"& _ 
                " `City`, `Region`, `PostalCode`, `Country`, `Phone`, `Fax`, `HomePage`) VALUES ("& _ 
                "?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
            Me.m_adapter.InsertCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.InsertCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePage", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand = New System.Data.OleDb.OleDbCommand
            Me.m_adapter.UpdateCommand.Connection = Me.Connection
            Me.m_adapter.UpdateCommand.CommandText = "UPDATE `Suppliers` SET `CompanyName` = ?, `ContactName` = ?, `ContactTitle` = ?, "& _ 
                "`Address` = ?, `City` = ?, `Region` = ?, `PostalCode` = ?, `Country` = ?, `Phone"& _ 
                "` = ?, `Fax` = ?, `HomePage` = ? WHERE ((`SupplierID` = ?) AND ((? = 1 AND `Comp"& _ 
                "anyName` IS NULL) OR (`CompanyName` = ?)) AND ((? = 1 AND `ContactName` IS NULL)"& _ 
                " OR (`ContactName` = ?)) AND ((? = 1 AND `ContactTitle` IS NULL) OR (`ContactTit"& _ 
                "le` = ?)) AND ((? = 1 AND `Address` IS NULL) OR (`Address` = ?)) AND ((? = 1 AND"& _ 
                " `City` IS NULL) OR (`City` = ?)) AND ((? = 1 AND `Region` IS NULL) OR (`Region`"& _ 
                " = ?)) AND ((? = 1 AND `PostalCode` IS NULL) OR (`PostalCode` = ?)) AND ((? = 1 "& _ 
                "AND `Country` IS NULL) OR (`Country` = ?)) AND ((? = 1 AND `Phone` IS NULL) OR ("& _ 
                "`Phone` = ?)) AND ((? = 1 AND `Fax` IS NULL) OR (`Fax` = ?)))"
            Me.m_adapter.UpdateCommand.CommandType = System.Data.CommandType.Text
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p1", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p2", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p3", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p4", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p5", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p6", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p7", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p8", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p9", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p10", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p11", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "HomePage", System.Data.DataRowVersion.Current, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p12", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "SupplierID", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p13", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p14", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "CompanyName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p15", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p16", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactName", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p17", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p18", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "ContactTitle", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p19", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p20", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Address", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p21", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p22", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "City", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p23", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p24", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Region", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p25", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p26", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "PostalCode", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p27", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p28", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Country", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p29", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p30", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Phone", System.Data.DataRowVersion.Original, false, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p31", System.Data.OleDb.OleDbType.[Integer], 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, true, Nothing))
            Me.m_adapter.UpdateCommand.Parameters.Add(New System.Data.OleDb.OleDbParameter("p32", System.Data.OleDb.OleDbType.VarWChar, 0, System.Data.ParameterDirection.Input, CType(0,Byte), CType(0,Byte), "Fax", System.Data.DataRowVersion.Original, false, Nothing))
        End Sub
        
        Private Sub InitConnection()
            Me.m_connection = New System.Data.OleDb.OleDbConnection
            Me.m_connection.ConnectionString = CompositeRowEditing.Settings.Default.NwindConnectionString
        End Sub
        
        Private Sub InitCommandCollection()
            Me.m_commandCollection = New System.Data.OleDb.OleDbCommand(0) {}
            Me.m_commandCollection(0) = New System.Data.OleDb.OleDbCommand
            Me.m_commandCollection(0).Connection = Me.Connection
            Me.m_commandCollection(0).CommandText = "SELECT SupplierID, CompanyName, ContactName, ContactTitle, Address, City, Region,"& _ 
                " PostalCode, Country, Phone, Fax, HomePage FROM Suppliers"
            Me.m_commandCollection(0).CommandType = System.Data.CommandType.Text
        End Sub
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Fill, true)>  _
        Public Overloads Overridable Function Fill(ByVal dataTable As NwindDataSet.SuppliersDataTable) As Integer
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            If (Me.m_clearBeforeFill = true) Then
                dataTable.Clear
            End If
            Dim returnValue As Integer = Me.Adapter.Fill(dataTable)
            Return returnValue
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.[Select], true)>  _
        Public Overloads Overridable Function GetData() As NwindDataSet.SuppliersDataTable
            Me.Adapter.SelectCommand = Me.CommandCollection(0)
            Dim dataTable As NwindDataSet.SuppliersDataTable = New NwindDataSet.SuppliersDataTable
            Me.Adapter.Fill(dataTable)
            Return dataTable
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataTable As NwindDataSet.SuppliersDataTable) As Integer
            Return Me.Adapter.Update(dataTable)
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataSet As NwindDataSet) As Integer
            Return Me.Adapter.Update(dataSet, "Suppliers")
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRow As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(New System.Data.DataRow() {dataRow})
        End Function
        
        Public Overloads Overridable Function Update(ByVal dataRows() As System.Data.DataRow) As Integer
            Return Me.Adapter.Update(dataRows)
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Delete, true)>  _
        Public Overloads Overridable Function Delete(ByVal p1 As Integer, ByVal p3 As String, ByVal p5 As String, ByVal p7 As String, ByVal p9 As String, ByVal p11 As String, ByVal p13 As String, ByVal p15 As String, ByVal p17 As String, ByVal p19 As String, ByVal p21 As String) As Integer
            Me.Adapter.DeleteCommand.Parameters(0).Value = CType(p1,Integer)
            If (p3 Is Nothing) Then
                Throw New System.ArgumentNullException("p3")
            Else
                Me.Adapter.DeleteCommand.Parameters(1).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p5 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(3).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(5).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(7).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(9).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(10).Value = CType(p11,String)
            End If
            If (p13 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(11).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(12).Value = CType(p13,String)
            End If
            If (p15 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(13).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(14).Value = CType(p15,String)
            End If
            If (p17 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(15).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(16).Value = CType(p17,String)
            End If
            If (p19 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(17).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(18).Value = CType(p19,String)
            End If
            If (p21 Is Nothing) Then
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(1,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = System.DBNull.Value
            Else
                Me.Adapter.DeleteCommand.Parameters(19).Value = CType(0,Integer)
                Me.Adapter.DeleteCommand.Parameters(20).Value = CType(p21,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.DeleteCommand.Connection.State
            Me.Adapter.DeleteCommand.Connection.Open
            Try 
                Return Me.Adapter.DeleteCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.DeleteCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Insert, true)>  _
        Public Overloads Overridable Function Insert(ByVal p1 As String, ByVal p2 As String, ByVal p3 As String, ByVal p4 As String, ByVal p5 As String, ByVal p6 As String, ByVal p7 As String, ByVal p8 As String, ByVal p9 As String, ByVal p10 As String, ByVal p11 As String) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.InsertCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(1).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p6 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(5).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(5).Value = CType(p6,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.InsertCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.InsertCommand.Parameters(10).Value = CType(p11,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.InsertCommand.Connection.State
            Me.Adapter.InsertCommand.Connection.Open
            Try 
                Return Me.Adapter.InsertCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.InsertCommand.Connection.Close
                End If
            End Try
        End Function
        
        <System.ComponentModel.DataObjectMethodAttribute(System.ComponentModel.DataObjectMethodType.Update, true)>  _
        Public Overloads Overridable Function Update( _
                    ByVal p1 As String,  _
                    ByVal p2 As String,  _
                    ByVal p3 As String,  _
                    ByVal p4 As String,  _
                    ByVal p5 As String,  _
                    ByVal p6 As String,  _
                    ByVal p7 As String,  _
                    ByVal p8 As String,  _
                    ByVal p9 As String,  _
                    ByVal p10 As String,  _
                    ByVal p11 As String,  _
                    ByVal p12 As Integer,  _
                    ByVal p14 As String,  _
                    ByVal p16 As String,  _
                    ByVal p18 As String,  _
                    ByVal p20 As String,  _
                    ByVal p22 As String,  _
                    ByVal p24 As String,  _
                    ByVal p26 As String,  _
                    ByVal p28 As String,  _
                    ByVal p30 As String,  _
                    ByVal p32 As String) As Integer
            If (p1 Is Nothing) Then
                Throw New System.ArgumentNullException("p1")
            Else
                Me.Adapter.UpdateCommand.Parameters(0).Value = CType(p1,String)
            End If
            If (p2 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(1).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(1).Value = CType(p2,String)
            End If
            If (p3 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(2).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(2).Value = CType(p3,String)
            End If
            If (p4 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(3).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(3).Value = CType(p4,String)
            End If
            If (p5 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(4).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(4).Value = CType(p5,String)
            End If
            If (p6 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(5).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(5).Value = CType(p6,String)
            End If
            If (p7 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(6).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(6).Value = CType(p7,String)
            End If
            If (p8 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(7).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(7).Value = CType(p8,String)
            End If
            If (p9 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(8).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(8).Value = CType(p9,String)
            End If
            If (p10 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(9).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(9).Value = CType(p10,String)
            End If
            If (p11 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(10).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(10).Value = CType(p11,String)
            End If
            Me.Adapter.UpdateCommand.Parameters(11).Value = CType(p12,Integer)
            If (p14 Is Nothing) Then
                Throw New System.ArgumentNullException("p14")
            Else
                Me.Adapter.UpdateCommand.Parameters(12).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(13).Value = CType(p14,String)
            End If
            If (p16 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(14).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(15).Value = CType(p16,String)
            End If
            If (p18 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(16).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(17).Value = CType(p18,String)
            End If
            If (p20 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(18).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(19).Value = CType(p20,String)
            End If
            If (p22 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(20).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(21).Value = CType(p22,String)
            End If
            If (p24 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(22).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(23).Value = CType(p24,String)
            End If
            If (p26 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(24).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(25).Value = CType(p26,String)
            End If
            If (p28 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(26).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(27).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(26).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(27).Value = CType(p28,String)
            End If
            If (p30 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(28).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(29).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(28).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(29).Value = CType(p30,String)
            End If
            If (p32 Is Nothing) Then
                Me.Adapter.UpdateCommand.Parameters(30).Value = CType(1,Integer)
                Me.Adapter.UpdateCommand.Parameters(31).Value = System.DBNull.Value
            Else
                Me.Adapter.UpdateCommand.Parameters(30).Value = CType(0,Integer)
                Me.Adapter.UpdateCommand.Parameters(31).Value = CType(p32,String)
            End If
            Dim previousConnectionState As System.Data.ConnectionState = Me.Adapter.UpdateCommand.Connection.State
            Me.Adapter.UpdateCommand.Connection.Open
            Try 
                Return Me.Adapter.UpdateCommand.ExecuteNonQuery
            Finally
                If (previousConnectionState = System.Data.ConnectionState.Closed) Then
                    Me.Adapter.UpdateCommand.Connection.Close
                End If
            End Try
        End Function
    End Class
End Namespace
