Aracılığıyla paylaş


İzlenecek yol: Nesnelerdeki Verilere Bağlanma (Windows Forms)

Bu izlenecek yolda, her nesne için bir nesne veri kaynağı ile birlikte müşteri ve sipariş verilerini tutmak için nesneleri oluşturur.Nesne veri kaynağı görünür Veri kaynakları pencere: öğeler, her nesne için ortak özellikler veri ilişkili denetimleri oluşturmak için form penceresinden sürüklenebilir.İzlenecek yol da TableAdapters veritabanından veri getirebilir ve nesneleri doldurmak için nasıl kullanılacağını gösterir.

Nesne veri kaynağı çalıştırılarak oluşturulan Veri Kaynağı Yapılandırma Sihirbazı seçerek nesne veri kaynağı türü olarak.Size tamamladıktan sonra Data Source Configuration Wizard, nesnenin ortak özellikleri bulunan Veri Kaynakları Penceresi ve formunuza sürüklenebilir.

Bu izlenecek yolda gösterilen görevleri şunlardır:

  • Yeni oluşturma Windows Forms uygulamasý proje.

  • Müşteriler ve siparişler temsil etmek için özel nesneler oluşturma.

  • Oluşturma ve yapılandırma kullanarak özel nesnelere dayalı bir nesne veri kaynağına Data Source Configuration Wizard.

  • Özel nesneler verilere bağlı bir forma denetim eklemek.

  • Nesnelerinizi veritabanı arasında veri taşımak için TableAdapters ile bir dataset yaratmak.

  • Bir TableAdapter'ın ana sorgu düzenleme.

  • Bir TableAdapter ekleme sorguları.

  • Nesnelerinizi veritabanı verilerle doldurma.

Projeyi Oluşturma

Yeni bir Windows Forms uygulaması proje oluşturmak için

  1. Dan Dosya menüsünde oluşturma bir Yeni bir proje.

  2. İçinde Proje türleri bölmesinde, kullanmak istediğiniz dil düğümünü tıklatın Windows.

  3. İçinde şablonları bölmesinde tıklatın Windows Forms uygulamasý.

  4. İçinde ad kutusuna yazın ObjectBindingWalkthrough 'ı tıklatın ve Tamam.

    ObjectBindingWalkthrough proje yaratılır ve eklenen Solution Explorer.

Bu izlenecek yolda, bazı nesneleri bağlamak gerekiyor.İlk adım, müşteriler ve siparişler temsil etmek için bazı örnek nesneleri oluşturmaktır.Biz oluşturacaktır müşterilerin temsil etmek için bir Customer tek bir müşteri temsil eden nesne.Biz oluşturacaktır siparişleri gösteren bir Order tek bir sırayı temsil eder, nesne ve bir Orders topluluğu temsil eden nesne Order nesneler.Topluluğu için Customer nesneler yerleşik koleksiyonunda kullanacağız BindingSource class (Bu yönergeyi açıklanmıştır).

Müşteri nesne oluşturma

Müşteri nesnesi oluşturmak için

  1. Proje menüsünde, Sınıf ekle'yi tıklatın.

  2. Yeni sınıf adını Müşteri 'ı tıklatın ve Ekle.

  3. Kodu Değiştir Customer sınıf dosyası aşağıdaki kodla:

    [!NOT]

    Customer Nesnesini içeren bir ordersCollection türünde özellik Orders.Düzenleyici bildiren bir ileti görüntülemek 'Siparişler' türü tanımlı değil.Bu iletinin beklenen ve oluşturduğunuzda kaybolur Order ve Orders sonraki bölümdeki sınıfları.

    ''' <summary> 
    ''' A single customer 
    ''' </summary> 
    Public Class Customer
    
        Public Sub New()
        End Sub 
    
        ''' <summary> 
        ''' Creates a new customer 
        ''' </summary> 
        ''' <param name="customerId">The ID that uniquely identifies this customer</param> 
        ''' <param name="companyName">The name for this customer</param> 
        ''' <param name="contactName">The name for this customer's contact</param> 
        ''' <param name="contactTitle">The title for this contact</param> 
        ''' <param name="address">The address for this customer</param> 
        ''' <param name="city">The city for this customer</param> 
        ''' <param name="region">The region for this customer</param> 
        ''' <param name="postalCode">The postal code for this customer</param> 
        ''' <param name="country">The country for this customer</param> 
        ''' <param name="phone">The phone number for this customer</param> 
        ''' <param name="fax">The fax number for this customer</param> 
        Public Sub New(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)
            customerIDValue = customerId
            companyNameValue = companyName
            contactNameValue = contactName
            contactTitleValue = contactTitle
            addressValue = address
            cityValue = city
            regionValue = region
            postalCodeValue = postalCode
            countryValue = country
            phoneValue = phone
            faxValue = fax
        End Sub 
    
        Private customerIDValue As String 
        ''' <summary> 
        ''' The ID that uniquely identifies this customer 
        ''' </summary> 
        Public Property CustomerID() As String 
            Get 
                Return customerIDValue
            End Get 
            Set(ByVal value As String)
                customerIDValue = value
            End Set 
        End Property 
    
        Private companyNameValue As String 
        ''' <summary> 
        ''' The name for this customer 
        ''' </summary> 
        Public Property CompanyName() As String 
            Get 
                Return companyNameValue
            End Get 
            Set(ByVal Value As String)
                companyNameValue = Value
            End Set 
        End Property 
    
        Private contactNameValue As String 
        ''' <summary> 
        ''' The name for this customer's contact 
        ''' </summary> 
        Public Property ContactName() As String 
            Get 
                Return contactNameValue
            End Get 
            Set(ByVal Value As String)
                contactNameValue = Value
            End Set 
        End Property 
    
        Private contactTitleValue As String 
        ''' <summary> 
        ''' The title for this contact 
        ''' </summary> 
        Public Property ContactTitle() As String 
            Get 
                Return contactTitleValue
            End Get 
            Set(ByVal Value As String)
                contactTitleValue = Value
            End Set 
        End Property 
    
        Private addressValue As String 
        ''' <summary> 
        ''' The address for this customer 
        ''' </summary> 
        Public Property Address() As String 
            Get 
                Return addressValue
            End Get 
            Set(ByVal Value As String)
                addressValue = Value
            End Set 
        End Property 
    
        Private cityValue As String 
        ''' <summary> 
        ''' The city for this customer 
        ''' </summary> 
        Public Property City() As String 
            Get 
                Return cityValue
            End Get 
            Set(ByVal Value As String)
                cityValue = Value
            End Set 
        End Property 
    
        Private regionValue As String 
        ''' <summary> 
        ''' The region for this customer 
        ''' </summary> 
        Public Property Region() As String 
            Get 
                Return regionValue
            End Get 
            Set(ByVal Value As String)
                regionValue = Value
            End Set 
        End Property 
    
        Private postalCodeValue As String 
        ''' <summary> 
        ''' The postal code for this customer 
        ''' </summary> 
        Public Property PostalCode() As String 
            Get 
                Return postalCodeValue
            End Get 
            Set(ByVal Value As String)
                postalCodeValue = Value
            End Set 
        End Property 
    
        Private countryValue As String 
        ''' <summary> 
        ''' The country for this customer 
        ''' </summary> 
        Public Property Country() As String 
            Get 
                Return countryValue
            End Get 
            Set(ByVal Value As String)
                countryValue = Value
            End Set 
        End Property 
    
    
        Private phoneValue As String 
        ''' <summary> 
        ''' The phone number for this customer 
        ''' </summary> 
        Public Property Phone() As String 
            Get 
                Return phoneValue
            End Get 
            Set(ByVal Value As String)
                phoneValue = Value
            End Set 
        End Property 
    
        Private faxValue As String 
        ''' <summary> 
        ''' The fax number for this customer 
        ''' </summary> 
        Public Property Fax() As String 
            Get 
                Return faxValue
            End Get 
            Set(ByVal Value As String)
                faxValue = Value
            End Set 
        End Property 
    
        Private ordersCollection As New System.ComponentModel.BindingList(Of Order)
        ''' <summary> 
        ''' The orders for this customer 
        ''' </summary> 
        Public Property Orders() As System.ComponentModel.BindingList(Of Order)
            Get 
                Return ordersCollection
            End Get 
            Set(ByVal value As System.ComponentModel.BindingList(Of Order))
                ordersCollection = value
            End Set 
        End Property 
    
    
        Public Overrides Function ToString() As String 
            Return Me.CompanyName & " (" & Me.CustomerID & ")" 
        End Function 
    
    End Class
    
    namespace ObjectBindingWalkthrough
    {
        /// <summary> 
        /// A single customer 
        /// </summary> 
        public class Customer
        {
            /// <summary> 
            /// Creates a new customer 
            /// </summary> 
            public Customer()
            {
            }
    
            /// <summary> 
            /// Creates a new customer 
            /// </summary> 
            /// <param name="customerID"></param>
            /// <param name="companyName"></param>
            /// <param name="contactName"></param>
            /// <param name="contactTitle"></param>
            /// <param name="address"></param>
            /// <param name="city"></param>
            /// <param name="region"></param>
            /// <param name="postalCode"></param>
            /// <param name="country"></param>
            /// <param name="phone"></param>
            /// <param name="fax"></param>
            public Customer(string customerID, string companyName,
               string contactName, string contactTitle,
               string address, string city, string region,
               string postalCode, string country,
               string phone, string fax)
            {
                customerIDValue = customerID;
            }
    
            private string customerIDValue;
            /// <summary> 
            /// The ID that uniquely identifies this customer 
            /// </summary> 
            public string CustomerID
            {
                get { return customerIDValue; }
                set { customerIDValue = value; }
            }
    
            private string companyNameValue;
            /// <summary> 
            /// The name for this customer 
            /// </summary> 
            public string CompanyName
            {
                get { return companyNameValue; }
                set { companyNameValue = value; }
            }
    
            private string contactNameValue;
            /// <summary> 
            /// The name for this customer's contact 
            /// </summary> 
            public string ContactName
            {
                get { return contactNameValue; }
                set { contactNameValue = value; }
            }
    
            private string contactTitleValue;
            /// <summary> 
            /// The title for this contact 
            /// </summary> 
            public string ContactTitle
            {
                get { return contactTitleValue; }
                set { contactTitleValue = value; }
            }
    
            private string addressValue;
            /// <summary> 
            /// The address for this customer 
            /// </summary> 
            public string Address
            {
                get { return addressValue; }
                set { addressValue = value; }
            }
    
            private string cityValue;
            /// <summary> 
            /// The city for this customer 
            /// </summary> 
            public string City
            {
                get { return cityValue; }
                set { cityValue = value; }
            }
    
            private string regionValue;
            /// <summary> 
            /// The region for this customer 
            /// </summary> 
            public string Region
            {
                get { return regionValue; }
                set { regionValue = value; }
            }
    
            private string postalCodeValue;
            /// <summary> 
            /// The postal code for this customer 
            /// </summary> 
            public string PostalCode
            {
                get { return postalCodeValue; }
                set { postalCodeValue = value; }
            }
    
            private string countryValue;
            /// <summary> 
            /// The country for this customer 
            /// </summary> 
            public string Country
            {
                get { return countryValue; }
                set { countryValue = value; }
            }
    
            private string phoneValue;
            /// <summary> 
            /// The phone number for this customer 
            /// </summary> 
            public string Phone
            {
                get { return phoneValue; }
                set { phoneValue = value; }
            }
    
            private string faxValue;
            /// <summary> 
            /// The fax number for this customer 
            /// </summary> 
            public string Fax
            {
                get { return faxValue; }
                set { faxValue = value; }
            }
    
            private System.ComponentModel.BindingList<Order> ordersCollection = 
                new System.ComponentModel.BindingList<Order>();
    
            public System.ComponentModel.BindingList<Order> Orders
            {
                get { return ordersCollection; }
                set { ordersCollection = value; }
            }
    
            public override string ToString()
            {
                return this.CompanyName + " (" + this.CustomerID + ")";
            }
        }
    }
    

Sipariş nesneleri oluşturma

Nesneyi Sırala ve siparişleri koleksiyonu oluşturmak için

  1. Üzerinde Proje menüsünde, select Add Class.

  2. Yeni sınıf adını Sipariş 'ı tıklatın ve Ekle.

  3. Kodu Değiştir Order sınıf dosyası aşağıdaki kodla:

    ''' <summary> 
    ''' A single order 
    ''' </summary> 
    Public Class Order
    
        Public Sub New()
        End Sub 
    
        ''' <summary> 
        ''' Creates a new order 
        ''' </summary> 
        ''' <param name="orderid">The identifier for this order</param> 
        ''' <param name="customerID">The customer who placed this order</param> 
        ''' <param name="employeeID">The ID of the employee who took this order</param> 
        ''' <param name="orderDate">The date this order was placed</param> 
        ''' <param name="requiredDate">The date this order is required</param> 
        ''' <param name="shippedDate">The date the order was shipped</param> 
        ''' <param name="shipVia">The shipping method for this order</param> 
        ''' <param name="freight">The freight charge for this order</param> 
        ''' <param name="shipName">The name of the recipient for this order</param> 
        ''' <param name="shipAddress">The address to ship this order to</param> 
        ''' <param name="shipCity">The city to ship this order to</param> 
        ''' <param name="shipRegion">The region to ship this order to</param> 
        ''' <param name="shipPostalCode">The postal code to ship this order to</param> 
        ''' <param name="shipCountry">The country to ship this order to</param> 
        Public Sub New(ByVal orderid As Integer,
                       ByVal customerID As String,
                       ByVal employeeID As Nullable(Of Integer),
                       ByVal orderDate As Nullable(Of DateTime),
                       ByVal requiredDate As Nullable(Of DateTime),
                       ByVal shippedDate As Nullable(Of DateTime),
                       ByVal shipVia As Nullable(Of Integer),
                       ByVal freight As Nullable(Of 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)
            orderIDValue = orderid
            customerIDValue = customerID
            employeeIDValue = employeeID
            orderDateValue = orderDate
            requiredDateValue = requiredDate
            shippedDateValue = shippedDate
            shipViaValue = shipVia
            freightValue = freight
            shipAddressValue = shipAddress
            shipCityValue = shipCity
            shipRegionValue = shipRegion
            shipPostalCodeValue = shipPostalCode
            shipCountryValue = shipCountry
        End Sub 
    
        Private orderIDValue As Integer 
        ''' <summary> 
        ''' Identifier for this order 
        ''' </summary> 
        Public Property OrderID() As Integer 
            Get 
                Return orderIDValue
            End Get 
            Set(ByVal value As Integer)
                orderIDValue = value
            End Set 
        End Property 
    
        Private customerIDValue As String 
        ''' <summary> 
        ''' The customer who placed this order 
        ''' </summary> 
        Public Property CustomerID() As String 
            Get 
                Return customerIDValue
            End Get 
            Set(ByVal Value As String)
                customerIDValue = Value
            End Set 
        End Property 
    
        Private employeeIDValue As Nullable(Of Integer)
        ''' <summary> 
        ''' The ID of the employee who took this order 
        ''' </summary> 
        Public Property EmployeeID() As Nullable(Of Integer)
            Get 
                Return employeeIDValue
            End Get 
            Set(ByVal Value As Nullable(Of Integer))
                employeeIDValue = Value
            End Set 
        End Property 
    
    
        Private orderDateValue As Nullable(Of DateTime)
    
        ''' <summary> 
        ''' The date this order was placed 
        ''' </summary> 
        Public Property OrderDate() As Nullable(Of DateTime)
            Get 
                Return orderDateValue
            End Get 
            Set(ByVal Value As Nullable(Of DateTime))
                orderDateValue = Value
            End Set 
        End Property 
    
        Private requiredDateValue As Nullable(Of DateTime)
        ''' <summary> 
        ''' The date this order is required 
        ''' </summary> 
        Public Property RequiredDate() As Nullable(Of DateTime)
            Get 
                Return requiredDateValue
            End Get 
            Set(ByVal Value As Nullable(Of DateTime))
                requiredDateValue = Value
            End Set 
        End Property 
    
    
        Private shippedDateValue As Nullable(Of DateTime)
        ''' <summary> 
        ''' The date this order was shipped 
        ''' </summary> 
        Public Property ShippedDate() As Nullable(Of DateTime)
            Get 
                Return shippedDateValue
            End Get 
            Set(ByVal Value As Nullable(Of DateTime))
                shippedDateValue = Value
            End Set 
        End Property 
    
        Private shipViaValue As Nullable(Of Integer)
        ''' <summary> 
        ''' The shipping method for this order 
        ''' </summary> 
        Public Property ShipVia() As Nullable(Of Integer)
            Get 
                Return shipViaValue
            End Get 
            Set(ByVal Value As Nullable(Of Integer))
                shipViaValue = Value
            End Set 
        End Property 
    
    
        Private freightValue As Nullable(Of Decimal)
        ''' <summary> 
        ''' The freight charge for this order 
        ''' </summary> 
        Public Property Freight() As Nullable(Of Decimal)
            Get 
                Return freightValue
            End Get 
            Set(ByVal Value As Nullable(Of Decimal))
                freightValue = Value
            End Set 
        End Property 
    
        Private shipNameValue As String 
        ''' <summary> 
        ''' The name of the recipient for this order 
        ''' </summary> 
        Public Property ShipName() As String 
            Get 
                Return shipNameValue
            End Get 
            Set(ByVal Value As String)
                shipNameValue = Value
            End Set 
        End Property 
    
    
        Private shipAddressValue As String 
        ''' <summary> 
        ''' The address to ship this order to 
        ''' </summary> 
        Public Property ShipAddress() As String 
            Get 
                Return shipAddressValue
            End Get 
            Set(ByVal Value As String)
                shipAddressValue = Value
            End Set 
        End Property 
    
        Private shipCityValue As String 
        ''' <summary> 
        ''' The city to ship this order to 
        ''' </summary> 
        Public Property ShipCity() As String 
            Get 
                Return shipCityValue
            End Get 
            Set(ByVal Value As String)
                shipCityValue = Value
            End Set 
        End Property 
    
        Private shipRegionValue As String 
        ''' <summary> 
        ''' The region to ship this order to 
        ''' </summary> 
        Public Property ShipRegion() As String 
            Get 
                Return shipRegionValue
            End Get 
            Set(ByVal Value As String)
                shipRegionValue = Value
            End Set 
        End Property 
    
        Private shipPostalCodeValue As String 
        ''' <summary> 
        ''' The postal code to ship this order to 
        ''' </summary> 
        Public Property ShipPostalCode() As String 
            Get 
                Return shipPostalCodeValue
            End Get 
            Set(ByVal Value As String)
                shipPostalCodeValue = Value
            End Set 
        End Property 
    
        Private shipCountryValue As String 
        ''' <summary> 
        ''' The country to ship this order to 
        ''' </summary> 
        Public Property ShipCountry() As String 
            Get 
                Return shipCountryValue
            End Get 
            Set(ByVal Value As String)
                shipCountryValue = Value
            End Set 
        End Property 
    
    
        Private customerValue As Customer
        ''' <summary> 
        ''' The customer this order belongs to 
        ''' </summary> 
        Public Property Customer() As Customer
            Get 
                Return customerValue
            End Get 
            Set(ByVal Value As Customer)
                customerValue = Value
            End Set 
        End Property 
    
    
    End Class 
    
    ''' <summary> 
    ''' A collection of Orders 
    ''' </summary> 
    Public Class Orders
        Inherits System.ComponentModel.BindingList(Of Order)
    
    End Class
    
    using System;
    
    namespace ObjectBindingWalkthrough
    {
        /// <summary> 
        /// A single order 
        /// </summary> 
        public class Order
        {
            /// <summary> 
            /// Creates a new order 
            /// </summary> 
            public Order()
            {
            }
    
            /// <summary> 
            /// Creates a new order 
            /// </summary> 
            /// <param name="orderid"></param>
            /// <param name="customerID"></param>
            /// <param name="employeeID"></param>
            /// <param name="orderDate"></param>
            /// <param name="requiredDate"></param>
            /// <param name="shippedDate"></param>
            /// <param name="shipVia"></param>
            /// <param name="freight"></param>
            /// <param name="shipName"></param>
            /// <param name="shipAddress"></param>
            /// <param name="shipCity"></param>
            /// <param name="shipRegion"></param>
            /// <param name="shipPostalCode"></param>
            /// <param name="shipCountry"></param>
            public Order(int orderid, string customerID,
               Nullable<int> employeeID, Nullable<DateTime> orderDate,
               Nullable<DateTime> requiredDate, Nullable<DateTime> shippedDate,
               Nullable<int> shipVia, Nullable<decimal> freight,
               string shipName, string shipAddress,
               string shipCity, string shipRegion,
               string shipPostalCode, string shipCountry)
            {
    
            }
    
            private int orderIDValue;
            /// <summary> 
            /// The ID that uniquely identifies this order 
            /// </summary> 
            public int OrderID
            {
                get { return orderIDValue; }
                set { orderIDValue = value; }
            }
    
            private string customerIDValue;
            /// <summary> 
            /// The customer who placed this order 
            /// </summary> 
            public string CustomerID
            {
                get { return customerIDValue; }
                set { customerIDValue = value; }
            }
    
            private Nullable<int> employeeIDValue;
            /// <summary> 
            /// The ID of the employee who took this order 
            /// </summary> 
            public Nullable<int> EmployeeID
            {
                get { return employeeIDValue; }
                set { employeeIDValue = value; }
            }
    
            private Nullable<DateTime> orderDateValue;
            /// <summary> 
            /// The date this order was placed 
            /// </summary> 
            public Nullable<DateTime> OrderDate
            {
                get { return orderDateValue; }
                set { orderDateValue = value; }
            }
    
            private Nullable<DateTime> requiredDateValue;
            /// <summary> 
            /// The date this order is required 
            /// </summary> 
            public Nullable<DateTime> RequiredDate
            {
                get { return requiredDateValue; }
                set { requiredDateValue = value; }
            }
    
            private Nullable<DateTime> shippedDateValue;
            /// <summary> 
            /// The date this order was shipped 
            /// </summary> 
            public Nullable<DateTime> ShippedDate
            {
                get { return shippedDateValue; }
                set { shippedDateValue = value; }
            }
    
            private Nullable<int> shipViaValue;
            /// <summary> 
            /// The shipping method of this order 
            /// </summary> 
            public Nullable<int> ShipVia
            {
                get { return shipViaValue; }
                set { shipViaValue = value; }
            }
    
            private Nullable<decimal> freightValue;
            /// <summary> 
            /// The freight charge for this order 
            /// </summary> 
            public Nullable<decimal> Freight
            {
                get { return freightValue; }
                set { freightValue = value; }
            }
    
            private string shipNameValue;
            /// <summary> 
            /// The name of the recipient for this order 
            /// </summary> 
            public string ShipName
            {
                get { return shipNameValue; }
                set { shipNameValue = value; }
            }
    
            private string shipAddressValue;
            /// <summary> 
            /// The address to ship this order to 
            /// </summary> 
            public string ShipAddress
            {
                get { return shipAddressValue; }
                set { shipAddressValue = value; }
            }
    
            private string shipCityValue;
            /// <summary> 
            /// The city to ship this order to 
            /// </summary> 
            public string ShipCity
            {
                get { return shipCityValue; }
                set { shipCityValue = value; }
            }
    
            private string shipRegionValue;
            /// <summary> 
            /// The region to ship this order to 
            /// </summary> 
            public string ShipRegion
            {
                get { return shipRegionValue; }
                set { shipRegionValue = value; }
            }
    
            private string shipPostalCodeValue;
            /// <summary> 
            /// The postal code to ship this order to 
            /// </summary> 
            public string ShipPostalCode
            {
                get { return shipPostalCodeValue; }
                set { shipPostalCodeValue = value; }
            }
    
            private string shipCountryValue;
            /// <summary> 
            /// The country to ship this order to 
            /// </summary> 
            public string ShipCountry
            {
                get { return shipCountryValue; }
                set { shipCountryValue = value; }
            }
    
        }
    
    
        /// <summary> 
        /// A collection of Order objects 
        /// </summary> 
        class Orders : System.ComponentModel.BindingList<Order>
        {
    
        }
    }
    
  4. Dan Dosya menüsünden seçin Tümünü Kaydet.

Nesne veri kaynağı oluşturma

Çalıştırarak önceki adımda oluşturduğunuz nesnelere dayanan bir veri kaynağı oluşturabilirsiniz Data Source Configuration Wizard.

Nesne veri kaynağı oluşturmak için

  1. Projenizi yapılandırın.

    [!NOT]

    Projedeki nesnelere de seçilmeden önce projeyi derleyin Data Source Configuration Wizard.

  2. Açık Veri kaynakları tıklatarak pencereyi veri menü ve seçerek Show Data Sources.

  3. Tıklatın Add New Data Source , Veri kaynakları pencere.

    Data Source Configuration Wizard başlar.

  4. Üzerinde veri kaynağı türü seçin sayfası, select nesneve ardından İleri.

  5. Üzerinde veri nesneleri seçin sayfasında, genişletme ObjectBindingWalkthrough düğümleri ve Seç onay kutusunun yanındaki Müşteri nesne.

  6. Son düğmesini tıklatın.

    Müşteri nesne görünür Veri kaynakları pencere.

Veriye bağlı Form oluşturma

Alanla ilişkili Customer öğeleri sürükleyerek nesne oluşturulur Veri kaynakları forma pencere.

Nesne özelliklerini ilişkili denetimleri olan bir form oluşturmak için

  1. İçinde Solution Explorerseçin Form1,'ı tıklatın ve View Designer.

  2. Sürükle Müşteri düğümden Veri kaynakları üzerine pencere Form1.

  3. Genişletme Müşteri düğümü tıklatın ve sürükleyin siparişleri düğümden Veri kaynakları üzerine pencere Form1.

Özel nesne veritabanından veri yüklemek için TableAdapters oluşturma

Nesneleri ve veritabanı arasında veri taşımak için TableAdapters kullanacağız.TableAdapters müşteriler ve siparişler tablolarını kullanarak oluşturabileceğiniz Veri Kaynağı Yapılandırma Sihirbazı.

TableAdapters oluşturmak için

  1. Dan veri menüsünden seçin Add New Data Source.

  2. Üzerinde veri kaynağı türü seçin sayfası seçme veritabanıve ardından İleri.

  3. Üzerinde veritabanı modelini seç sayfası, select Dataset[NULL]'ı sonraki.

  4. Üzerinde Choose Your Data Connection sayfasında, aşağıdaki yordamlardan birini kullanın:

    • Northwind örnek veritabanındaki veri bağlantısı aşağı açılan listede varsa, bunu seçin.

      -veya-

    • Seçin Yeni bir bağlantı Northwind veritabanına yeni veri bağlantısını yapılandırmak için.Daha fazla bilgi için bkz. Nasıl yapılır: Bir Veritabanındaki Verilere Bağlanma.

  5. Veri bağlantısı seçtikten sonra tıklayın İleri.

  6. Üzerinde bağlantı dizesini uygulama yapılandırma dosyasına kaydetmek 'i tıklatın, sayfa İleri.

  7. Üzerinde veritabanı nesnelerini Seç sayfasında, genişletme Tablo düğüm.

  8. Seçin müşterilerin ve siparişleri tablolar ve sonra Son.

    NorthwindDataSet projenize eklenir ve müşterilerin ve siparişleri tablolar görünür Veri kaynakları altında pencere NorthwindDataSet düğüm.

Dataset ve TableAdapters Form1 ekleme

Örneği ekleyebilirsiniz CustomersTableAdapter, OrdersTableAdapter, ve NorthwindDataSet forma sürükleyerek bileşenleri temsilcisi araç.

Müşteriler tablosundaki verilerle müşteri nesneleri doldurmak için

  1. Dan Build menüsünde, select Build Solution.

  2. Sürükle bir NorthwindDataSet dan araç üzerine Form1.

  3. Sürükle bir CustomersTableAdapter dan araç üzerine Form1.

  4. Sürükle bir OrdersTableAdapter dan araç üzerine Form1.

Yalnızca birkaç müşteriler geri dönmek için CustomersTableAdapter için bir sorgu ekleme

Gerçek uygulamalarda, büyük olasılıkla hiçbir zaman bütün tablo veri döndürür.Bu izlenecek yol için en önde gelen beş müşterileri verecektir.

[!NOT]

Genellikle döndürmek istediğiniz hangi müşterilerin seçmek için bir parametre iletmek, ancak buradaki örneklerde kısaltma biz sabit kod yalnızca beş müşteriler dönüp yapma parametre değerleri için bir kullanıcı arabirimi oluşturma gereksinimini ortadan kaldırmak için sorgu olur.

CustomersTableAdapter için ek bir sorgu eklemek için

  1. İçinde Solution Explorer, NorthwindDataSet.xsd dosyasını çift tıklatın.

    NorthwindDataSet açılır Dataset Designer.

  2. Sağ CustomersTableAdapter ve Ekleme sorgusu.

    TableAdapter Sorgu Yapılandırma Sihirbazı Açar.

  3. Varsayılan değeri bırakın Use sql Statements seçeneðini 'ı tıklatın ve İleri.

  4. Varsayılan değeri bırakın seçin satır döndürür 'ı tıklatın ve İleri.

  5. sql deyimi aşağıdaki gibi değiştirmek ve'ı İleri:

    SELECT Top 5 CustomerID, CompanyName, ContactName, ContactTitle, Address, 
    City, Region, PostalCode, Country, Phone, Fax 
    FROM Customers 
    
  6. Clear bir DataTable dolgu onay kutusu.

  7. Adı bir DataTable dönmek yöntemi GetTop5Customers 'ı tıklatın ve Son.

    GetTop5Customers için sorgu eklenen CustomersTableAdapter.

OrdersTableAdapter dönmek sorguyu değiştirme yalnızca istenen müşteri için sipariş

Siparişleri veritabanından getirilirken, biz tüm siparişleri tablosu dönmek istemiyorsanız; yalnızca belirli bir müşteri için sipariş istiyoruz.Aşağıdaki yordam olarak yapılandırılacağını birTableAdapter ile yeni bir sorgu ayrıntıları (Biz için olduğu gibi karşıt olarak ek bir sorgu ekleme CustomersTableAdapter önceki adımda).

Tek bir müşterinin siparişlerinin dönmek için TableAdapter'ın ana sorgu yeniden yapılandırmak için

  1. Sağ OrdersTableAdapter ve yapılandırma.

    TableAdapter Sorgu Yapılandırma Sihirbazı Açar.

  2. sql deyimi aşağıdaki gibi değiştirmek ve'ı İleri:

    SELECT OrderID, CustomerID, EmployeeID, OrderDate, 
    RequiredDate, ShippedDate, ShipVia, Freight, 
    ShipName, ShipAddress, ShipCity, ShipRegion, 
    ShipPostalCode, ShipCountry 
    FROM Orders 
    WHERE CustomerID = @CustomerID
    
  3. Clear bir DataTable dolgu onay kutusu.

  4. Adı bir DataTable dönmek yöntemi GetDataByCustomerID 'ı tıklatın ve Son.

    OrdersTableAdapter'ın ana Fill sorgu yerine GetDataByCustomerID sorgu.

  5. Seçerek projeyi derleyin Build Solution dan Build menü.

Verileri müşteri ve sipariş nesneleri yüklemek için kod ekleme

Bizim özel nesne verileri yüklemek için yeni veri tablolarını döndüren TableAdapter sorguları yürütme (yerine veri tablolarını varolan o dolgu TableAdapter kullanarak sorgular).Kod daha sonra döngüsü ile tablo ve her doldurur Customer tüm siparişler her yerleştirmek için müşteri bilgileri ile ayrıca nesne Customer.Orders koleksiyonu.Fark nasıl her Customer nesne iç koleksiyonuna eklenen CustomerBindingSource (CustomerBindingSource.Add(currentCustomer)).BindingSource Yerleşik kesinlikle yazılan topluluğu sağlar Customers üzerinden erişilebilir List özelliği.

Verileri olan nesneler yüklenemedi

  1. İçinde Solution Explorerseçin Form1,'ı tıklatın ve View Code.

  2. Kodu Değiştir Form1 yerine aşağıdaki kodu:

    Public Class Form1
        Private Sub LoadCustomers()
            Dim customerData As NorthwindDataSet.CustomersDataTable =
                CustomersTableAdapter1.GetTop5Customers()
    
            Dim customerRow As NorthwindDataSet.CustomersRow
    
            For Each customerRow In customerData
                Dim currentCustomer As New Customer()
                With currentCustomer
    
                    .CustomerID = customerRow.CustomerID
                    .CompanyName = customerRow.CompanyName
    
                    If Not customerRow.IsAddressNull Then
                        .Address = customerRow.Address
                    End If 
    
                    If Not customerRow.IsCityNull Then
                        .City = customerRow.City
                    End If 
    
                    If Not customerRow.IsContactNameNull Then
                        .ContactName = customerRow.ContactName
                    End If 
    
                    If Not customerRow.IsContactTitleNull Then
                        .ContactTitle = customerRow.ContactTitle
                    End If 
    
                    If Not customerRow.IsCountryNull Then
                        .Country = customerRow.Country
                    End If 
    
                    If Not customerRow.IsFaxNull Then
                        .Fax = customerRow.Fax
                    End If 
    
                    If Not customerRow.IsPhoneNull Then
                        .Phone = customerRow.Phone
                    End If 
    
                    If Not customerRow.IsPostalCodeNull Then
                        .PostalCode = customerRow.PostalCode
                    End If 
    
                    If Not customerRow.Is_RegionNull Then
                        .Region = customerRow._Region
                    End If 
    
                End With
    
                LoadOrders(currentCustomer)
                CustomerBindingSource.Add(currentCustomer)
            Next 
        End Sub 
    
        Private Sub LoadOrders(ByRef currentCustomer As Customer)
            Dim orderData As NorthwindDataSet.OrdersDataTable =
                OrdersTableAdapter1.GetDataByCustomerID(currentCustomer.CustomerID)
    
            Dim orderRow As NorthwindDataSet.OrdersRow
    
            For Each orderRow In orderData
                Dim currentOrder As New Order()
                With currentOrder
                    .OrderID = orderRow.OrderID
                    .Customer = currentCustomer
    
                    If Not orderRow.IsCustomerIDNull Then
                        .CustomerID = orderRow.CustomerID
                    End If 
    
                    If Not orderRow.IsEmployeeIDNull Then
                        .EmployeeID = orderRow.EmployeeID
                    End If 
    
                    If Not orderRow.IsFreightNull Then
                        .Freight = orderRow.Freight
                    End If 
    
                    If Not orderRow.IsOrderDateNull Then
                        .OrderDate = orderRow.OrderDate
                    End If 
    
                    If Not orderRow.IsRequiredDateNull Then
                        .RequiredDate = orderRow.RequiredDate
                    End If 
    
                    If Not orderRow.IsShipAddressNull Then
                        .ShipAddress = orderRow.ShipAddress
                    End If 
    
                    If Not orderRow.IsShipCityNull Then
                        .ShipCity = orderRow.ShipCity
                    End If 
    
                    If Not orderRow.IsShipCountryNull Then
                        .ShipCountry = orderRow.ShipCountry
                    End If 
    
                    If Not orderRow.IsShipNameNull Then
                        .ShipName = orderRow.ShipName
                    End If 
    
                    If Not orderRow.IsShippedDateNull Then
                        .ShippedDate = orderRow.ShippedDate
                    End If 
    
                    If Not orderRow.IsShipPostalCodeNull Then
                        .ShipPostalCode = orderRow.ShipPostalCode
                    End If 
    
                    If Not orderRow.IsShipRegionNull Then
                        .ShipRegion = orderRow.ShipRegion
                    End If 
    
                    If Not orderRow.IsShipViaNull Then
                        .ShipVia = orderRow.ShipVia
                    End If 
                End With
                currentCustomer.Orders.Add(currentOrder)
            Next 
    
        End Sub 
    
        Private Sub Form1_Load(ByVal sender As System.Object, 
                               ByVal e As System.EventArgs) Handles MyBase.Load
    
            LoadCustomers()
        End Sub 
    End Class
    
    using System;
    using System.Windows.Forms;
    
    namespace ObjectBindingWalkthrough
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
                this.Load += Form1_Load;
            }
    
            private void LoadCustomers()
            {
                NorthwindDataSet.CustomersDataTable customerData = 
                    customersTableAdapter1.GetTop5Customers();
    
                foreach (NorthwindDataSet.CustomersRow customerRow in customerData)
                {
                    Customer currentCustomer = new Customer();
                    currentCustomer.CustomerID = customerRow.CustomerID;
                    currentCustomer.CompanyName = customerRow.CompanyName;
    
                    if (customerRow.IsAddressNull() == false)
                    {
                        currentCustomer.Address = customerRow.Address;
                    }
    
                    if (customerRow.IsCityNull() == false)
                    {
                        currentCustomer.City = customerRow.City;
                    }
    
                    if (customerRow.IsContactNameNull() == false)
                    {
                        currentCustomer.ContactName = customerRow.ContactName;
                    }
    
                    if (customerRow.IsContactTitleNull() == false)
                    {
                        currentCustomer.ContactTitle = customerRow.ContactTitle;
                    }
    
                    if (customerRow.IsCountryNull() == false)
                    {
                        currentCustomer.Country = customerRow.Country;
                    }
    
                    if (customerRow.IsFaxNull() == false)
                    {
                        currentCustomer.Fax = customerRow.Fax;
                    }
    
                    if (customerRow.IsPhoneNull() == false)
                    {
                        currentCustomer.Phone = customerRow.Phone;
                    }
    
                    if (customerRow.IsPostalCodeNull() == false)
                    {
                        currentCustomer.PostalCode = customerRow.PostalCode;
                    }
    
                    if (customerRow.IsRegionNull() == false)
                    {
                        currentCustomer.Region = customerRow.Region;
                    }
    
                    LoadOrders(currentCustomer);
                    customerBindingSource.Add(currentCustomer);
                }
            }
    
    
            private void LoadOrders(Customer currentCustomer)
            {
                NorthwindDataSet.OrdersDataTable orderData = 
                    ordersTableAdapter1.GetDataByCustomerID(currentCustomer.CustomerID);
    
                foreach (NorthwindDataSet.OrdersRow orderRow in orderData)
                {
                    Order currentOrder = new Order();
                    currentOrder.OrderID = orderRow.OrderID;
    
                    if (orderRow.IsCustomerIDNull() == false)
                    {
                        currentOrder.CustomerID = orderRow.CustomerID;
                    }
    
                    if (orderRow.IsEmployeeIDNull() == false)
                    {
                        currentOrder.EmployeeID = orderRow.EmployeeID;
                    }
    
                    if (orderRow.IsFreightNull() == false)
                    {
                        currentOrder.Freight = orderRow.Freight;
                    }
    
                    if (orderRow.IsOrderDateNull() == false)
                    {
                        currentOrder.OrderDate = orderRow.OrderDate;
                    }
    
                    if (orderRow.IsRequiredDateNull() == false)
                    {
                        currentOrder.RequiredDate = orderRow.RequiredDate;
                    }
    
                    if (orderRow.IsShipAddressNull() == false)
                    {
                        currentOrder.ShipAddress = orderRow.ShipAddress;
                    }
    
                    if (orderRow.IsShipCityNull() == false)
                    {
                        currentOrder.ShipCity = orderRow.ShipCity;
                    }
    
                    if (orderRow.IsShipCountryNull() == false)
                    {
                        currentOrder.ShipCountry = orderRow.ShipCountry;
                    }
    
                    if (orderRow.IsShipNameNull() == false)
                    {
                        currentOrder.ShipName = orderRow.ShipName;
                    }
    
                    if (orderRow.IsShippedDateNull() == false)
                    {
                        currentOrder.ShippedDate = orderRow.ShippedDate;
                    }
    
                    if (orderRow.IsShipPostalCodeNull() == false)
                    {
                        currentOrder.ShipPostalCode = orderRow.ShipPostalCode;
                    }
    
                    if (orderRow.IsShipRegionNull() == false)
                    {
                        currentOrder.ShipRegion = orderRow.ShipRegion;
                    }
    
                    if (orderRow.IsShipViaNull() == false)
                    {
                        currentOrder.ShipVia = orderRow.ShipVia;
                    }
                    currentCustomer.Orders.Add(currentOrder);
                }
            }
    
            private void Form1_Load(object sender, EventArgs e)
            {
                LoadCustomers();
            }
    
        }
    }
    

Uygulamayı Test Etme

Uygulamayı test etmek için

  1. F5 tuşuna basarak uygulamayı çalıştırın.

  2. Formu açılır ve DataGridView denetimleri, örnek verilerle doldurulur.

  3. Müşterilerimiz gidin DataGridView bunların ilişkili siparişleri görüntülemek için.

Sonraki Adımlar

Uygulamanız için işlevsellik eklemek için

Ayrıca bkz.

Kavramlar

Uygulamanızı Veri Almaya Hazırlama

Uygulamanıza Veri Getirme

Visual Studio'da Verilere Denetimler Bağlama

Uygulamanızdaki Verileri Düzenleme

Visual Studio'da Nesne Bağlama

Verileri Kaydetme

Diğer Kaynaklar

Visual Studio'da Verilere Bağlanma

Veri İzlenecek Yollar