Bagikan melalui


Panduan: Hanya Menggunakan Prosedur Tersimpan (Visual Basic)

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

Nota

Anda juga dapat menggunakan prosedur tersimpan dalam aplikasi LINQ ke SQL untuk menggantikan perilaku default, terutama untuk proses Create, Update, dan Delete . Untuk 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 saat Anda menjalankan alat baris perintah SqlMetal untuk menghasilkan file Visual Basic. Untuk informasi selengkapnya, lihat bagian Prasyarat nanti di panduan ini.

Panduan ini tidak bergantung pada Object Relational Designer. Pengembang yang menggunakan Visual Studio juga dapat menggunakan Perancang O/R untuk menerapkan fungsionalitas prosedur tersimpan. Lihat LINQ ke Alat SQL di Visual Studio.

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 lebih lanjut, lihat Mempersonalisasi IDE.

Panduan ini ditulis dengan menggunakan Pengaturan Pengembangan Visual Basic.

Prasyarat

Panduan ini memerlukan hal berikut:

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

  • Database contoh Northwind.

    Jika Anda tidak memiliki database ini di komputer pengembangan, Anda bisa mengunduhnya dari situs unduhan Microsoft. Untuk petunjuknya, lihat Mengunduh Database Sampel. Setelah Anda 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 dari enam tugas utama:

  • Menyiapkan solusi LINQ ke SQL di Visual Studio.

  • Menambahkan perakitan System.Data.Linq ke proyek.

  • Menambahkan file kode database ke proyek.

  • Membuat koneksi ke database.

  • Menyiapkan antarmuka pengguna.

  • Menjalankan dan menguji aplikasi.

Membuat Solusi LINQ ke SQL

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

Untuk membuat solusi LINQ ke 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 Templat , klik Aplikasi Formulir Windows.

  4. Dalam kotak Nama , ketik SprocOnlyApp.

  5. Klik OK.

    Windows Forms Designer terbuka.

Menambahkan LINQ ke Referensi Rakitan SQL

Rakitan LINQ to SQL tidak disertakan dalam templat Aplikasi Formulir Windows standar. Anda harus menambahkan susunan tersebut sendiri, seperti yang dijelaskan dalam langkah-langkah berikut:

Untuk menambahkan System.Data.Linq.dll

  1. Di Penjelajah Solusi, klik Perlihatkan Semua File.

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

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

    Rakitan tersebut ditambahkan ke proyek.

Menambahkan File Kode Northwind ke Proyek

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

Untuk menambahkan file kode northwind ke proyek

  1. Pada menu Proyek , klik Tambahkan Item yang Sudah 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 path (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 pada 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 Windows Forms Designer (Form1.vb[Design]).

  2. Pada menu Tampilan , klik Kotak Alat.

    Kotak alat terbuka.

    Nota

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

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

    Atur kontrol seperti dalam ilustrasi yang menyertainya. Perluas Form1 agar kontrol dapat terpasang dengan mudah.

  4. Klik kanan Label1, lalu klik Properti.

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

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

  7. Dengan cara yang sama, ubah properti Teks untuk Tombol1 menjadi Detail Pesanan.

  8. Ubah properti Teks untuk Tombol2 menjadi Riwayat Pesanan.

    Lebarkan kontrol tombol sehingga semua teks terlihat.

Untuk menangani klik tombol

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

  2. Ketik kode berikut ke dalam Button1 handler:

    ' 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 di Form1 untuk membuat handler acara Button2 dan membuka editor kode.

  4. Ketik kode berikut ke dalam Button2 handler:

    ' 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 apa pun yang Anda masukkan, atau mengembalikan riwayat produk yang dipesan untuk CustomerID apa pun yang Anda masukkan.

Untuk menguji aplikasi

  1. Tekan F5 untuk mulai debug.

    Form1 muncul.

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

    Kotak pesan mencantumkan produk yang disertakan dalam urutan 10249.

    Klik OK untuk menutup kotak pesan.

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

    Kotak pesan mencantumkan riwayat pesanan untuk pelanggan ALFKI.

    Klik OK untuk menutup kotak pesan.

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

    Kotak pesan menampilkan "Tidak ada hasil."

    Klik OK untuk menutup kotak pesan.

  5. Pada menu Debug, klik Stop debugging.

    Sesi debug ditutup.

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

Langkah Selanjutnya

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

Lihat juga