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
Visual Studio'da açık Server Explorer/Database Explorer tıklatarak View menüsünü ve ardından seçin Server Explorer/Database Explorer.
Sağ Veri bağlantıları , Server Explorer/Database Explorer, tıklatın ve Add Connection.
Northwind örnek veritabanındaki geçerli bir bağlantı belirtin.
sql dosyası bir LINQ ile bir proje eklemek için
Visual Studio, Dosya menüsü, Yeni 'ı Proje.Visual Basic'i seçin Windows Forms uygulamasý proje türü.
Proje menüsünde, Yeni Öğe Ekle'yi tıklatın.Seçin sql sınıfları için LINQ Item template.
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
İç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.
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.
Değişikliklerinizi kaydetmek ve designer'ı kapatın.
Projeyi kaydedin.
Veritabanını değiştirmek ve sonuçları görüntülemek için kod eklemek için
Dan araç, sürükleyin bir DataGridView üzerine Form1 projeniz için varsayılan Windows Form denetimi.
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
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.
Ç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
Ç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
Ç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
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)