Nasıl yapılır: LINQ Kullanarak Veritabanındaki Verileri Değiştirme (Visual Basic)
Dil Tümleşik Sorgu (LINQ) sorguları, veritabanı bilgilerine erişmeyi ve veritabanındaki değerleri değiştirmeyi kolaylaştırır.
Aşağıdaki örnekte, SQL Server veritabanındaki bilgileri alan ve güncelleştiren yeni bir uygulamanın nasıl oluşturulacağı gösterilmektedir.
Bu konudaki örneklerde Northwind örnek veritabanı kullanılmıştır. Geliştirme bilgisayarınızda bu veritabanı yoksa, bu veritabanını Microsoft İndirme Merkezi'nden indirebilirsiniz. Yönergeler için bkz . Örnek Veritabanlarını İndirme.
Veritabanına bağlantı oluşturmak için
Visual Studio'da, Görünüm menüsüne tıklayarak Sunucu Gezgini/Veritabanı Gezgini'ni açın ve ardından Sunucu Gezgini Veritabanı Gezgini'ni/ seçin.
Sunucu Gezgini Veritabanı Gezgini'nde/ Veri Bağlan ions'a sağ tıklayın ve Bağlan ekle'ye tıklayın.
Northwind örnek veritabanı için geçerli bir bağlantı belirtin.
SQL dosyasına LINQ içeren bir Proje eklemek için
Visual Studio'da, Dosya menüsünde Yeni'nin üzerine gelin ve Proje'ye tıklayın. Proje türü olarak Visual Basic Windows Forms Uygulaması'nı seçin.
Proje menüsünde Yeni Öğe Ekle'ye tıklayın. LINQ to SQL Sınıfları öğe şablonunu seçin.
Dosyayı
northwind.dbml
olarak adlandırın. Ekle'yi tıklatın. dosya içinnorthwind.dbml
Nesne İlişkisel Tasarımcısı (O/R Tasarım Aracı) açılır.
Sorguya tablo eklemek ve tasarımcıya değiştirmek için
Sunucu Gezgini/Veritabanı Gezgini'nde Northwind veritabanı bağlantısını genişletin. Tablolar klasörünü genişletin.
O/R Tasarım Aracı kapattıysanız, daha önce eklediğiniz dosyaya
northwind.dbml
çift tıklayarak dosyayı yeniden açabilirsiniz.Müşteriler tablosuna tıklayın ve tasarımcının sol bölmesine sürükleyin.
Tasarımcı, projeniz için yeni bir Customer nesnesi oluşturur.
Değişikliklerinizi kaydedin ve tasarımcıyı kapatın.
Projenizi kaydedin.
Veritabanını değiştirmek ve sonuçları görüntülemek için kod eklemek için
Araç Kutusu'ndan, bir DataGridView denetimi projeniz için varsayılan Windows Formu olan Form1'e sürükleyin.
O/R Tasarım Aracı tablolar eklediğinizde tasarımcı projenize bir DataContext nesne ekledi. Bu nesne, Müşteriler tablosuna erişmek için kullanabileceğiniz kodu içerir. Ayrıca, tablo için yerel customer nesnesini ve Customers koleksiyonunu tanımlayan kodu da içerir. DataContext Projenizin nesnesi, .dbml dosyanızın adına göre adlandırılır. Bu proje için DataContext nesnesi olarak adlandırılır
northwindDataContext
.Kodunuzda nesnenin DataContext bir örneğini oluşturabilir ve O/R Tasarım Aracı tarafından belirtilen Customers koleksiyonunu sorgulayabilir ve değiştirebilirsiniz. Customers koleksiyonunda yaptığınız değişiklikler, siz nesnesinin yöntemini DataContext çağırarak SubmitChanges gönderene kadar veritabanına yansıtılmaz.
Özelliği olarak DataContextkullanıma sunulan Customers tablosunu sorgulamak Load üzere olaya kod eklemek için Windows Form, Form1'e çift tıklayın. Şu 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
Araç Kutusu'ndan forma üç Button denetim sürükleyin. İlk
Button
denetimi seçin. Özellikler penceresinde, denetiminAdd
Button
Text
Name
AddButton
ve olarak ayarlayın. İkinci düğmeyi seçin ve özelliğiniUpdateButton
olarak veText
özelliğini olarakUpdate
ayarlayınName
. Üçüncü düğmeyi seçin ve özelliğiniDeleteButton
olarak veText
özelliğini olarakDelete
ayarlayınName
.Olayına kod
Click
eklemek için Ekle düğmesine çift tıklayın. Şu 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
Olayına kod
Click
eklemek için Güncelleştir düğmesine çift tıklayın. Şu 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" updateCust.Country = "Wales" updateCust.CompanyName = "Red Yonder Airlines" updateCust.City = "Cardiff" Try db.SubmitChanges() Catch ' Handle exception. End Try RefreshData() End Sub
Olayına kod
Click
eklemek için Sil düğmesine çift tıklayın. Şu 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
Projenizi çalıştırmak için F5 tuşuna basın. Yeni kayıt eklemek için Ekle'ye tıklayın. Yeni kaydı değiştirmek için Güncelleştir'e tıklayın. Yeni kaydı silmek için Sil'e tıklayın.
Ayrıca bkz.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin