Bagikan melalui


Cara: Mengkueri Database dengan Menggunakan LINQ (Visual Basic)

Language-Integrated Query (LINQ) memudahkan akses informasi database dan menjalankan kueri.

Contoh berikut menunjukkan cara membuat aplikasi baru yang melakukan kueri terhadap database SQL Server.

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

Nota

Komputer Anda mungkin menampilkan nama atau lokasi yang berbeda untuk beberapa elemen antarmuka pengguna Visual Studio dalam instruksi berikut. Edisi Visual Studio yang Anda miliki dan pengaturan yang Anda gunakan menentukan elemen-elemen ini. Untuk informasi selengkapnya, lihat Mempersonalisasi IDE.

Untuk membuat koneksi ke database

  1. Di Visual Studio, buka Server Explorer/Database Explorer dengan mengklik Server Explorer/Database Explorer pada menu Tampilan.

  2. Klik kanan Data Connections di Server Explorer/Database Explorer dan kemudian klik Add Connection.

  3. Tentukan koneksi yang valid ke database sampel Northwind.

Untuk menambahkan proyek yang berisi LINQ ke file SQL

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

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

  3. Beri nama file northwind.dbml. Klik Tambahkan. Desainer Relasional Objek (O/R Designer) sudah dibuka untuk file northwind.dbml.

Untuk menambahkan tabel ke kueri dalam Perancang O/R

  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. Klik tabel Pesanan dan seret ke panel kiri perancang.

    Perancang membuat objek Customer dan Order baru untuk proyek Anda. Perhatikan bahwa perancang secara otomatis mendeteksi hubungan antara tabel dan membuat properti anak untuk objek terkait. Misalnya, IntelliSense akan menunjukkan bahwa objek Customer memiliki properti Orders untuk semua pesanan yang terkait dengan pelanggan tersebut.

  3. Simpan perubahan Anda dan tutup perancang.

  4. Simpan proyek Anda.

Untuk menambahkan kode untuk mengkueri database dan menampilkan hasilnya

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

  2. Klik dua kali Form1 untuk menambahkan kode ke peristiwa Load pada formulir.

  3. Saat Anda menambahkan tabel ke Perancang O/R, perancang menambahkan objek DataContext untuk proyek Anda. Objek ini berisi kode yang harus Anda miliki untuk mengakses tabel tersebut, selain objek dan koleksi individual untuk setiap tabel. Objek DataContext untuk proyek Anda dinamai berdasarkan nama file .dbml Anda. Untuk proyek ini, objek DataContext diberi nama northwindDataContext.

    Anda dapat membuat instans DataContext dalam kode Anda dan mengkueri tabel yang ditentukan oleh Perancang O/R.

    Tambahkan kode berikut ke peristiwa Load untuk mengkueri tabel yang diekspos sebagai properti konteks data Anda.

    Dim db As New northwindDataContext
    
    Dim londonCusts = From cust In db.Customers
                      Where cust.City = "London"
                      Select cust
    
    DataGridView1.DataSource = londonCusts
    
  4. Tekan F5 untuk menjalankan proyek Anda dan melihat hasilnya.

  5. Berikut ini adalah beberapa kueri tambahan yang bisa Anda coba:

    Dim londonCustOrders = From cust In db.Customers,
                                ord In cust.Orders
                           Where cust.City = "London"
                           Order By ord.OrderID
                           Select cust.City, ord.OrderID, ord.OrderDate
    
    DataGridView1.DataSource = londonCustOrders
    
    Dim custs = From cust In db.Customers
                Where cust.Country = "France" And
                    (cust.CompanyName.StartsWith("F") Or
                     cust.CompanyName.StartsWith("V"))
                Order By cust.CompanyName
                Select cust.CompanyName, cust.City
    
    DataGridView1.DataSource = custs
    

Lihat juga