Panduan: Hanya Menggunakan Prosedur Tersimpan (Visual Basic)

Panduan ini menyediakan LINQ end-to-end dasar untuk skenario SQL guna mengakses data dengan hanya menggunakan prosedur tersimpan. Pendekatan ini sering kali digunakan oleh administrator database untuk membatasi cara datastore diakses.

Catatan

Anda juga dapat menggunakan prosedur tersimpan di LINQ untuk aplikasi SQL guna mengambil alih perilaku default, terutama untuk proses Create, Update, dan Delete. Untuk mendapatkan informasi selengkapnya, lihat Menyesuaikan Operasi Sisipkan, Perbarui, dan Hapus.

Untuk tujuan panduan ini, Anda akan menggunakan dua metode yang telah dipetakan ke prosedur tersimpan dalam database sampel Northwind: CustOrdersDetail dan CustOrderHist. Pemetaan terjadi ketika Anda menjalankan alat baris perintah SqlMetal untuk menghasilkan file Visual Basic. Untuk mendapatkan informasi selengkapnya, lihat bagian Prasyarat sebelumnya dalam panduan ini.

Panduan ini tidak bergantung pada Perancang Relasional Objek. Pengembang yang menggunakan Visual Studio juga dapat menggunakan Perancang O/R untuk menerapkan fungsi prosedur tersimpan. Baca Alat LINQ to SQL di Visual Studio.

Catatan

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

Panduan ini ditulis dengan menggunakan Pengaturan Pengembangan Visual Basic.

Prasyarat

Panduan ini membutuhkan hal-hal berikut:

  • Panduan ini menggunakan folder khusus (“c:\linqtest3”) untuk menyimpan file. Buat folder ini sebelum Anda memulai panduan.

  • Database sampel Northwind.

    Jika Anda tidak memiliki database ini di komputer pengembangan Anda, Anda dapat mengunduhnya dari situs web unduhan Microsoft. Untuk mengetahui petunjuknya, lihat Mengunduh Database Sampel. Setelah mengunduh database, salin file northwnd.mdf ke folder c:\linqtest3.

  • File kode Visual Basic yang dihasilkan dari database Northwind.

    Panduan ini ditulis dengan menggunakan alat SQLMetal dengan baris perintah berikut:

    sqlmetal /code:"c:\linqtest3\northwind.vb" /language:vb "c:\linqtest3\northwnd.mdf" /sprocs /functions /pluralize

    Untuk informasi selengkapnya, lihat SqlMetal.exe (Alat Pembuatan Kode).

Gambaran Umum

Panduan ini terdiri atas enam tugas utama:

  • Menyiapkan solusi LINQ to SQL di Visual Studio.

  • Menambahkan rakitan System.Data.Linq ke proyek.

  • Menambahkan file kode database ke proyek.

  • Membuat koneksi ke database.

  • Menyiapkan antarmuka pengguna.

  • Menjalankan dan menguji aplikasi.

Membuat LINQ untuk Solusi SQL

Dalam tugas pertama ini, Anda membuat solusi Visual Studio yang memuat referensi yang diperlukan untuk membangun dan menjalankan LINQ untuk proyek SQL.

Untuk membuat LINQ untuk solusi SQL

  1. Pada menu File Visual Studio, klik Proyek Baru.

  2. Di panel Jenis proyek dalam kotak dialog Proyek Baru, perluas Visual Basic, lalu klik Windows.

  3. Di panel Template, klik Aplikasi Formulir Windows.

  4. Dalam kotak Nama, ketik SprocOnlyApp.

  5. Klik OK.

    Perancang Formulir Windows dibuka.

Menambahkan Referensi Rakitan LINQ to SQL

Rakitan LINQ to SQL tidak disertakan dalam template Aplikasi Formulir Windows standar. Anda harus menambahkan rakitan sendiri, seperti dijelaskan dalam langkah-langkah berikut:

Untuk menambahkan System.Data.Linq.dll

  1. Di Penjelajah Solusi, pilih Tampilkan Semua File.

  2. Di Penjelajah Solusi, klik kanan Referensi, lalu pilih Tambahkan Referensi.

  3. Di kotak dialog Tambahkan Referensi, klik .NET, klik rakitan System.Data.Linq, lalu klik OK.

    Rakitan ditambahkan ke proyek.

Menambahkan File Kode Northwind ke Proyek

Langkah-langkah ini mengasumsikan bahwa Anda telah menggunakan alat SqlMetal untuk menghasilkan file kode dari database sampel Northwind. Untuk mendapatkan informasi selengkapnya, lihat bagian Prasyarat sebelumnya dalam panduan ini.

Untuk menambahkan file kode northwind ke proyek

  1. Pada menu Proyek, klik Tambahkan Item yang Ada.

  2. Dalam kotak dialog Tambahkan Item yang Ada, pindah ke c:\linqtest3\northwind.vb, lalu klik Tambahkan.

    File northwind.vb ditambahkan ke proyek.

Membuat Koneksi Database

Dalam langkah ini, Anda menentukan koneksi ke database sampel Northwind. Panduan ini menggunakan "c:\linqtest3\northwnd.mdf" sebagai jalur.

Untuk membuat koneksi database

  1. Di Penjelajah Solusi, klik kanan Form1.vb, lalu klik Tampilkan Kode.

    Class Form1 muncul di editor kode.

  2. Ketik kode berikut ke dalam blok kode Form1:

    Dim db As New Northwnd("c:\linqtest3\northwnd.mdf")
    

Menyiapkan Antarmuka Pengguna

Dalam tugas ini, Anda membuat antarmuka sehingga pengguna dapat menjalankan prosedur tersimpan untuk mengakses data dalam database. Dalam aplikasi yang Anda kembangkan dengan panduan ini, pengguna dapat mengakses data dalam database hanya dengan menggunakan prosedur tersimpan yang disematkan dalam aplikasi.

Untuk menyiapkan antarmuka pengguna

  1. Kembali ke Perancang Formulir Windows (Form1.vb[Design]).

  2. Pada menu Tampilan, klik Kotak Alat.

    Kotak alat terbuka.

    Catatan

    Klik pendorongan AutoHide untuk menjaga kotak alat tetap terbuka ketika Anda melakukan langkah-langkah yang tersisa di bagian ini.

  3. Seret dua tombol, dua kotak teks, dan dua label dari kotak alat ke Form1.

    Atur kontrol seperti dalam ilustrasi yang menyertainya. Perluas Form1 agar kontrol mudah dipaskan.

  4. Klik kanan Label1, lalu klik Properti.

  5. Ubah properti Teks dari Label1 menjadi Masukkan OrderID:.

  6. Dengan cara yang sama untuk Label2, ubah properti Teks dari Label2 menjadi Masukkan CustomerID:.

  7. Dengan cara yang sama, ubah properti Teks untuk Button1 menjadi Rincian Pesanan.

  8. Ubah properti Teks untuk Button2 menjadi Riwayat Pesanan.

    Perluas kontrol tombol sehingga semua teks terlihat.

Untuk menangani klik tombol

  1. Klik dua kali Rincian Pesanan di Form1 untuk membuat penangan aktivitas Button1 dan membuka editor kode.

  2. Ketik kode berikut ke dalam penangan Button1:

    ' Declare a variable to hold the contents of
    ' TextBox1 as an argument for the stored
    ' procedure.
    Dim parm As String = TextBox1.Text
    
    ' Declare a variable to hold the results returned
    ' by the stored procedure.
    Dim custQuery = db.CustOrdersDetail(parm)
    
    ' Clear the message box of previous results.
    Dim msg As String = ""
    Dim response As MsgBoxResult
    
    ' Execute the stored procedure and store the results.
    For Each custOrdersDetail As CustOrdersDetailResult In custQuery
        msg &= custOrdersDetail.ProductName & vbCrLf
    Next
    
    ' Display the results.
    If msg = "" Then
        msg = "No results."
    End If
    response = MsgBox(msg)
    
    ' Clear the variables before continuing.
    parm = ""
    TextBox1.Text = ""
    
  3. Sekarang, klik dua kali Button2 pada Form1 untuk membuat penangan aktivitas Button2 dan membuka editor kode.

  4. Ketik kode berikut ke dalam penangan Button2:

    ' Comments in the code for Button2 are the same
    ' as for Button1.
    Dim parm As String = TextBox2.Text
    
    Dim custQuery2 = db.CustOrderHist(parm)
    Dim msg As String = ""
    Dim response As MsgBoxResult
    
    For Each custOrdHist As CustOrderHistResult In custQuery2
        msg &= custOrdHist.ProductName & vbCrLf
    Next
    
    If msg = "" Then
        msg = "No results."
    End If
    
    response = MsgBox(msg)
    parm = ""
    TextBox2.Text = ""
    

Menguji Aplikasi

Sekarang saatnya untuk menguji aplikasi Anda. Perhatikan bahwa kontak Anda dengan datastore terbatas pada tindakan apa pun yang dapat dilakukan oleh dua prosedur tersimpan. Tindakan tersebut adalah mengembalikan produk yang disertakan untuk orderID yang Anda masukkan, atau mengembalikan riwayat produk yang dipesan untuk CustomerID apa pun yang Anda masukkan.

Untuk menguji aplikasi

  1. Tekan F5 untuk mulai menelusuri kesalahan.

    Form1 muncul.

  2. Dalam kotak Masukkan OrderID, ketik 10249 lalu klik Rincian Pesanan.

    Kotak pesan mencantumkan produk yang disertakan dalam urutan 10249.

    Klik OK untuk menutup kotak dialog.

  3. Dalam kotak Masukkan CustomerID, ketik ALFKI, lalu klik Riwayat Pesanan.

    Kotak pesan mencantumkan riwayat pesanan untuk ALFKI pelanggan.

    Klik OK untuk menutup kotak dialog.

  4. Dalam kotak Masukkan OrderID, ketik 123, lalu klik Rincian Pesanan.

    Kotak pesan menampilkan “Tidak ada hasil.”

    Klik OK untuk menutup kotak dialog.

  5. Pada menu Debug, klik Hentikan penelusuran kesalahan.

    Sesi debug ditutup.

  6. Jika Anda telah selesai bereksperimen, Anda dapat mengeklik Tutup Proyek pada menu File, dan menyimpan proyek Anda ketika diminta.

Langkah berikutnya

Anda dapat meningkatkan proyek ini dengan melakukan beberapa perubahan. Contohnya, Anda dapat mencantumkan prosedur tersimpan yang tersedia dalam kotak daftar dan meminta pengguna memilih prosedur yang akan dijalankan. Anda juga dapat mengalirkan output laporan ke file teks.

Lihat juga