Aracılığıyla paylaş


Nasıl yapılır: LINQ Kullanarak Veritabanındaki Verileri Değiştirme (Visual Basic)

Dil tümleştirilmiş sorgu (LINQ) sorgular veritabanı bilgilerine erişmek ve veritabanı değerlerini değiştirmek kolay hale getirir.

Aşağıdaki örnek, bir sql Server veritabanında alır yeni bir uygulama oluşturma ve güncelleştirme bilgileri gösterir.

Bu konudaki örnek Northwind örnek veritabanını kullanır.Northwind örnek veritabanındaki geliştirme bilgisayarınızda yoksa, buradan yükleyebilirsiniz Microsoft Yükleme Merkezi'nden Web sitesi.Yönergeler için bkz: Downloading Sample Databases.

Bir veritabanı bağlantısı oluşturmak için

  1. Visual Studio'da açık Server Explorer/Database Explorer tıklatarak View menüsünü ve ardından seçin Server Explorer/Database Explorer.

  2. Sağ Veri bağlantıları , Server Explorer/Database Explorer, tıklatın ve Add Connection.

  3. Northwind örnek veritabanındaki geçerli bir bağlantı belirtin.

sql dosyası bir LINQ ile bir proje eklemek için

  1. Visual Studio, Dosya menüsü, YeniProje.Visual Basic'i seçin Windows Forms uygulamasý proje türü.

  2. Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.Seçin sql sınıfları için LINQ Item template.

  3. Dosya adı northwind.dbml.Ekle‘yi tıklatın.Nesne ilişkisel Tasarımcısı (o/r Tasarımcısı) için açılan northwind.dbml dosyası.

Sorgu ve tasarımcı değiştirmek için tablolar eklemek için

  1. İçinde Server Explorer/Database Explorer, Northwind veritabanı bağlantısı'nı genişletin.Genişletme Tablo klasörü.

    o/r Tasarımcısı kapattıysanız, nesneyi çift tıklatarak yeniden northwind.dbml daha önce eklenen dosya.

  2. Müşteriler tablosunu tıklatın ve tasarımcı sol bölmesine sürükleyin.

    Tasarımcı, projeniz için yeni bir müşteri oluşturur.

  3. Değişikliklerinizi kaydetmek ve designer'ı kapatın.

  4. Projeyi kaydedin.

Veritabanını değiştirmek ve sonuçları görüntülemek için kod eklemek için

  1. Dan araç, sürükleyin bir DataGridView üzerine Form1 projeniz için varsayılan Windows Form denetimi.

  2. o/r Tasarımcısı tabloları eklendiğinde tasarımcıya eklenen bir DataContext projenize nesnesi.Bu nesne, müşteriler tablosuna erişmek için kullanabileceğiniz kod içerir.Ayrıca, yerel müşteri nesne ve müşterilerin tahsilat tablosu için tanımlayan kodu içerir.DataContext Nesne projenizin adlı .dbml dosyasının adını esas.Bu proje için DataContext nesne adındaki northwindDataContext.

    Bir örneğini oluşturabileceğiniz DataContext nesne kodu ve sorgu ve o/r Tasarımcısı tarafından belirtilen müşterilere koleksiyonu değiştirin.Müşteriler koleksiyonuna yaptığınız değişiklikler bunları çağırarak göndermek kadar veritabanında uygulanmıyor SubmitChanges yöntemi, DataContext nesne.

    Windows kod eklemek için formu, Form1, çift Load olay Müşteriler tablosunu sorguya bir özelliği olarak sunuldu, DataContext.Aşağıdaki kodu ekleyin:

    Private db As northwindDataContext
    
    Private Sub Form1_Load(ByVal sender As System.Object, 
                           ByVal e As System.EventArgs
                          ) Handles MyBase.Load
      db = New northwindDataContext()
    
      RefreshData()
    End Sub
    
    Private Sub RefreshData()
      Dim customers = From cust In db.Customers 
                      Where cust.City(0) = "W" 
                      Select cust
    
      DataGridView1.DataSource = customers
    End Sub
    
  3. Dan araç, üç sürükleyin Button denetimleri forma.İlk seçin Button denetim.İçinde özelliklerini penceresinde, Name , Button için kontrol AddButton ve Text için Ekle.İkinci düğmeyi seçin ve set Name özelliğine UpdateButton ve Text özelliğine güncelleştirme.Üçüncü düğme seçin ve set Name özelliğine DeleteButton ve Text özelliğine silmek.

  4. Çift Ekle kodu eklemek için düğme, Click olay.Aşağıdaki kodu ekleyin:

    Private Sub AddButton_Click(ByVal sender As System.Object, 
                                ByVal e As System.EventArgs
                               ) Handles AddButton.Click
      Dim cust As New Customer With { 
        .City = "Wellington", 
        .CompanyName = "Blue Yonder Airlines", 
        .ContactName = "Jill Frank", 
        .Country = "New Zealand", 
        .CustomerID = "JILLF"}
    
      db.Customers.InsertOnSubmit(cust)
    
      Try
        db.SubmitChanges()
      Catch
        ' Handle exception.
      End Try
    
      RefreshData()
    End Sub
    
  5. Çift güncelleştirme kodu eklemek için düğme, Click olay.Aşağıdaki kodu ekleyin:

    Private Sub UpdateButton_Click(ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs
                                  ) Handles UpdateButton.Click
      Dim updateCust = (From cust In db.Customers 
                        Where cust.CustomerID = "JILLF").ToList()(0)
    
      updateCust.ContactName = "Jill Shrader"
    
      Try
        db.SubmitChanges()
      Catch
        ' Handle exception.
      End Try
    
      RefreshData()
    End Sub
    
  6. Çift silmek kodu eklemek için düğme, Click olay.Aşağıdaki kodu ekleyin:

    Private Sub DeleteButton_Click(ByVal sender As System.Object, _
                                   ByVal e As System.EventArgs
                                  ) Handles DeleteButton.Click
      Dim deleteCust = (From cust In db.Customers 
                        Where cust.CustomerID = "JILLF").ToList()(0)
    
      db.Customers.DeleteOnSubmit(deleteCust)
    
      Try
        db.SubmitChanges()
      Catch
        ' Handle exception.
      End Try
    
      RefreshData()
    End Sub
    
  7. F5 tuşuna basarak projeyi çalıştırın.Tıklatın Ekle yeni bir kayıt eklemek için.Tıklatın güncelleştirme yeni kaydı değiştirmek için.Tıklatın silmek yeni kayıt silmek için.

Ayrıca bkz.

Görevler

How to: Assign Stored Procedures to Perform Updates, Inserts, and Deletes (O/R Designer)

Walkthrough: Creating LINQ to SQL Classes (O/R Designer)

Kavramlar

DataContext Methods (O/R Designer)

Diğer Kaynaklar

Visual Basic'de LINQ

Sorgular (Visual Basic)

LINQ to SQL [LINQ to SQL]