Bagikan melalui


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

kueri Language-Integrated Query (LINQ) memudahkan untuk mengakses informasi database dan memodifikasi nilai dalam database.

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

Contoh dalam artikel ini menggunakan database sampel Northwind. Untuk mendapatkan database, lihat Mengunduh Database Sampel.

Untuk membuat koneksi ke database

  1. Di Visual Studio, buka Server Explorer/Database Explorer dengan mengklik menu Tampilkan, lalu pilih Server Explorer/Database Explorer.

  2. Klik kanan Koneksi Data diServer Explorer/Database Explorer , dan klik TambahkanKoneksi .

  3. Tentukan koneksi yang valid ke database sampel Northwind.

Untuk menambahkan Proyek dengan LINQ ke file SQL

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

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

  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 memodifikasi ke perancang

  1. Di Server Explorer/Database Explorer, perluas koneksi ke database Northwind. Perluas folder Tabel

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

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

    Perancang membuat objek Pelanggan baru untuk proyek Anda.

  3. Simpan perubahan Anda dan tutup perancang.

  4. Simpan proyek Anda.

Untuk menambahkan kode guna mengubah database dan menampilkan hasilnya

  1. Dari Toolbox, seret kontrol DataGridView ke Formulir Windows default untuk proyek Anda, Form1.

  2. Saat Anda menambahkan tabel ke Perancang 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 mendefinisikan 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 Perancang O/R. Perubahan yang Anda buat pada kumpulan Pelanggan tidak akan tercermin dalam database hingga Anda mengajukannya dengan memanggil metode SubmitChanges dari objek DataContext.

    Klik ganda Formulir Windows, Form1, untuk menambahkan kode ke peristiwa Load untuk mengkueri tabel Pelanggan yang diekspos sebagai properti DataContextAnda. 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 form. Pilih kontrol Button pertama. Di jendela Properti, atur Name kontrol Button ke AddButton dan Text ke 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 memasukkan kode ke Click event. 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 event Click. 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 ganda tombol Hapus untuk menambahkan kode ke event Click. 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 catatan baru. Klik Hapus untuk menghapus rekaman baru.

Lihat juga