Bagikan melalui


Cara: Mengubah Data dalam Database dengan Menggunakan LINQ (Visual Basic)

Kueri LINQ memudahkan untuk mengakses informasi database dan mengubah nilai dalam database.

Contoh berikut menunjukkan cara membuat aplikasi baru yang mengambil dan memperbarui informasi dalam database SQL Server.

Contoh dalam topik ini menggunakan database sampel Northwind. Jika Anda tidak memiliki database ini di komputer pengembangan Anda, Anda dapat mengunduhnya dari Pusat Unduhan Microsoft. Untuk mengetahui petunjuknya, lihat Mengunduh Database Sampel.

Untuk membuat koneksi ke database

  1. Di Visual Studio, buka Penjelajah Server/Penjelajah Database dengan mengeklik menu Tampilan, lalu pilih Penjelajah Server/Penjelajah Database.

  2. Klik kanan Koneksi Data di Server Penjelajah/Penjelajah Database, dan klik Tambahkan Koneksi.

  3. Tentukan koneksi yang valid ke database sampel Northwind.

Untuk menambahkan Proyek dengan file LINQ ke SQL

  1. Di Visual Studio, pada menu File, arahkan ke Baru, lalu klik Proyek. Pilih Aplikasi Formulir Windows Visual Basic sebagai jenis proyek.

  2. Pada menu Proyek, klik Tambahkan Item Baru. Pilih templat item LINQ untuk Kelas SQL.

  3. Beri nama file northwind.dbml. Klik Tambahkan. Object Relational Designer (O/R Designer) dibuka untuk file northwind.dbml.

Untuk menambahkan tabel ke kueri dan mengubah ke perancang

  1. Di Penjelajah Server/Penjelajah Database, perluas koneksi ke database Northwind. Luaskan folder Tabel.

    Jika Anda telah menutup O/R Designer, Anda dapat membukanya kembali dengan mengeklik dua kali file northwind.dbml yang Anda tambahkan sebelumnya.

  2. Klik tabel Pelanggan dan seret ke panel kiri desainer.

    Perancang membuat objek Pelanggan baru untuk proyek Anda.

  3. Simpan perubahan Anda dan tutup perancang.

  4. Simpan proyek Anda.

Untuk menambahkan kode untuk mengubah database dan menampilkan hasilnya

  1. Dari Kotak Alat, seret kontrol DataGridView ke formulir Windows default untuk proyek Anda, Form1.

  2. Saat Anda menambahkan tabel ke Designer O/R, perancang menambahkan objek DataContext ke proyek Anda. Objek ini berisi kode yang dapat Anda gunakan untuk mengakses tabel Pelanggan. Ini juga berisi kode yang menentukan objek Pelanggan lokal dan koleksi Pelanggan untuk tabel. Objek DataContext untuk proyek Anda dinamai berdasarkan nama file .dbml Anda. Untuk proyek ini, objek DataContext diberi nama northwindDataContext.

    Anda dapat membuat instans objek DataContext dalam kode dan kueri Anda dan memodifikasi koleksi Pelanggan yang ditentukan oleh O/R Designer. Perubahan yang Anda buat pada koleksi Pelanggan tidak tercermin dalam database hingga Anda mengirimkannya dengan memanggil metode SubmitChanges dari objek DataContext.

    Klik dua kali Formulir Windows, Form1, untuk menambahkan kode ke peristiwa Load untuk mengkueri tabel Pelanggan yang diekspos sebagai properti dari AndaDataContext. Tambahkan kode berikut:

    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. Dari Kotak Alat, seret tiga kontrol Button ke formulir. Pilih kontrol Button pertama. Di jendela Properti, atur Name dari kontrol Button ke AddButton dan Textke Add. Pilih tombol kedua dan atur properti Name ke UpdateButton dan properti Text ke Update. Pilih tombol ketiga dan atur properti Name ke DeleteButton dan properti Text ke Delete.

  4. Klik dua kali tombol Tambahkan untuk menambahkan kode ke peristiwa Click-nya. Tambahkan kode berikut:

    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. Klik dua kali tombol Perbarui untuk menambahkan kode ke peristiwa Click-nya. Tambahkan kode berikut:

    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
    
  6. Klik dua kali tombol Hapus untuk menambahkan kode ke peristiwa Click-nya. Tambahkan kode berikut:

    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. Tekan F5 untuk menjalankan proyek Anda. Klik Tambahkan untuk menambahkan rekaman baru. Klik Perbarui untuk mengubah rekaman baru. Klik Hapus untuk menghapus rekaman baru.

Lihat juga