<asp:AccessDataSource> ID="NamaSumber Saya" Runat="server" DataFile="NamaMDB Saya.mdb" SelectCommand="PILIH Bidang Saya1, Bidang Saya2 DARI Tabel Saya"> </asp:AccessDataSource> |
<html> <kepala> <title>TIO ch02-1 Menampilkan Data MDB</title> <kepala> <tubuh> <h3>ch02 TIO 2 Demonstrasi koneksi ke sumber MDB </h3> <tubuh> </html> |
<%@ halaman bahasa="VB" %> <html> <head><title>ch02 TIO 2 Menampilkan Data MDB</title></head> <tubuh> <h3>ch02 TIO 2 Demonstrasi Koneksi ke Sumber MDB </h3> <form runat="server"> <asp:accessdatasource id="NorthwindProductsAccDataSource" runat="server" selectcommand="Pilih * Dari Produk" datafile="~/App_Data/Northwind.mdb"> </asp:accessdatasource> <asp:gridview id="NorthwindProductsGridView" runat="server" datasourceid="NorthwindProductsAccDataSource"> </asp:tampilan grid> </form></body></html> |
<asp:accessdatasource id="NorthwindProductsAccDataSource" runat="server" selectcommand="Pilih * Dari [Penjualan berdasarkan Kategori] " Datafile="~/App_Data/Northwind.mdb"> </asp:accessdatasource> |
(14) Buka browser dan lihat halamannya.
Contoh Catatan #2 - Hubungkan ke MDB dan tampilkan data dengan GridView
Anda memiliki dua kontrol di halaman. Yang pertama, AccessDataSource, melakukan semua pekerjaan menyambung ke objek ADO.NET yang terhubung ke mesin JET yang berinteraksi dengan file MDB. Yang kedua adalah GridView yang digunakan untuk memperoleh data dan mengubah formatnya menjadi format HTML yang dapat ditampilkan pada halaman. Harap dicatat bahwa sangat penting untuk memberi setiap kontrol nama (ID) yang bermakna. Anda kemudian harus memastikan bahwa kontrol terikat data (GridView) menggunakan properti DataSourceID untuk mereferensikan ID AccessDataSource agar dapat menggunakan AccessDataSource sebagai sumber datanya.
Menampilkan data dari kueri tidak terlalu sulit; di Access Anda bisa menggunakan nama kueri, bukan nama tabel. Ada dua instruksi di sini. Pertama, jika ada spasi pada nama tabel atau query, seluruh nama harus diapit tanda kurung siku. Kedua, pertanyaan yang memerlukan masukan pengguna (misalnya, "penjualan pada tahun tertentu" memerlukan mengetahui tahun berapa) melibatkan teknik yang berada di luar cakupan buku ini.
Setelah menyelesaikan langkah sebelumnya, Anda bisa melihat data yang diperoleh dari kontrol AccessDataSource ditampilkan di halaman. Bab selanjutnya akan membahas GridView secara detail, namun bab ini akan terus fokus pada kontrol sumber data.
Pilih variabel dalam pernyataan
Saat membuat sumber data di VWD, wizard akan meminta Anda menentukan kolom yang perlu ditampilkan atau membuat pernyataan SQL kustom. Pada "Try It Away" sebelumnya, Anda cukup memilih beberapa kolom. Pernyataan SQL yang lebih kompleks dapat ditentukan dalam beberapa cara berbeda:
● Gunakan kotak dialog interaktif
● Masukkan pernyataan SQL yang disesuaikan di wizard AccessDataSource (disebut dengan tugas praktis Konfigurasi Sumber Data di kontrol)
● Masukkan pernyataan dalam kotak properti
● Masukkan pernyataan secara langsung pada markup tampilan Sumber
Memilih kolom di panduan Access DataSource adalah teknik pilihan untuk kueri sederhana yang mengembalikan satu atau beberapa kolom dari tabel terpisah karena mengurangi kesalahan tipografi dan sintaksis (lihat Gambar 2-3). Dalam wizard ini, Anda bisa memilih nama tabel atau kueri dari daftar drop-down Nama. Anda kemudian dapat memilih kolom yang diperlukan dalam tabel atau kueri dengan memilih semua kolom (*) atau grup kolom mana pun. Jika Anda mengklik tombol Urutkan Berdasarkan, Anda dapat mengurutkan berdasarkan kolom mana pun di sumber data. Jika ada batasan pada kolom pertama, kolom yang dipilih di Then By akan digunakan. Saat Anda memilih opsi dari wizard, perhatikan bahwa sintaks SQL sebenarnya untuk SelectCommand juga ditampilkan dalam kotak teks baca-saja.
Gambar 2-3
Anda dapat menggunakan tombol WHERE di wizard untuk membuat pernyataan SQL dengan parameter. Kami akan melewatkan pilihan ini untuk saat ini, namun penting bahwa sebelum penerapan Anda menggunakan parameter ini yang akan dibahas nanti dalam buku ini. Di situs yang disebarkan, hindari menghubungkan input pengguna secara langsung ke pernyataan SQL. Mengabaikan masalah parameter akan membuat situs Anda terkena serangan injeksi SQL. Teknik serangan ini menggunakan karakter palsu dari input pengguna untuk membatalkan pernyataan SQL asli dan kemudian menggantinya dengan pernyataan destruktif. Anda dapat menggunakan koleksi parameter untuk mengirim input pengguna ke koleksi parameter ADO.NET, yang dapat menggunakan fungsionalitas koleksi untuk mengurangi masalah injeksi SQL.
Meskipun wizard Konfigurasi Sumber Data memiliki banyak opsi untuk membantu membuat pernyataan SQL dengan cepat, terkadang Anda masih perlu memasukkan (atau memodifikasi) pernyataan SQL secara langsung di SelectCommand yang ditandai. Wizard AccessDataSource mengizinkan operasi ini. Di halaman panduan untuk memilih tabel, kueri, dan kolom, Anda dapat memilih tombol radio untuk "Tentukan pernyataan SQL kustom atau prosedur tersimpan." Setelah memilih opsi ini di halaman wizard, klik tombol Berikutnya untuk masuk ke halaman lain di mana Anda dapat langsung memasukkan pernyataan khusus di area teks. Anda juga bisa menggunakan Visual Studio QueryBuilder untuk membuat pernyataan kustom secara visual, menggunakan alat yang sangat mirip dengan Access QueryBuilder.
Jika Anda tidak ingin menggunakan panduan, Anda bisa memilih untuk memasukkan pernyataan SQL kustom di kisi properti kontrol AccessDataSource, atau Anda bisa beralih ke tampilan Sumber dan memasukkan pernyataan di properti SelectCommand dari tag kontrol AccessDataSource.
Ada banyak buku tentang SQL (jenis yang sama dengan ini adalah Pemrograman SQL Awal , ISBN 1-861001-80-0), dan buku ini memberikan pengantar singkat di lampiran. Jika Anda berencana mempelajari sintaksis SQL, Anda bisa memulai dengan mempelajari perintah untuk mengembalikan bagian dari sebuah record (TOP dan DISTINCT), sintaks untuk mengganti nama field (AS), dan teknik untuk mengembalikan field dari dua tabel terkait (JOIN) . Latihan berikut akan mengeksplorasi beberapa variabel dalam pernyataan SQL.
Coba #3 - Mengubah Pernyataan Select di AccessDataSource Dalam latihan ini, Anda akan menampilkan kolom tertentu dan catatan tertentu dari tabel Produk Northwind. Sebuah halaman juga akan dibuat untuk menampilkan data yang diperoleh dari query. Harap dicatat bahwa dalam latihan ini, aturan pemilihan sudah ada dalam kode sumber. Saat ini, tidak ada masukan pengguna sebagai opsi.
(1) Buat file bernama ch02_TIO_3_AlternateSelect-Commands.aspx di C:WebsitesBegAspNet2Dbch02.
(2) Tambahkan kontrol AccessDataSource dengan Northwind sebagai ID dan atur MDB ke App_DataNorthwind.mdb. Dalam serangkaian kotak dialog, atur perintah Pilih untuk mengambil semua bidang dari tabel Produk ("nama"=Produk). Lihatlah tampilan Sumber dan perhatikan pernyataan yang Anda buat, seperti yang ditunjukkan di bawah ini:
PILIH * DARI Produk |
<%@ halaman bahasa="VB" %> <html> <head runat="server"> <title>ch02 TIO 3 Pilihan Alternatif Conimands</title> </kepala> <tubuh> <h3>ch02 TIO 3 Perintah Pilihan Alternatif</h3> <form runat="server"> <asp:accessdatasource id="NorthwindAccDataSource" runat="server" selectcommand="PILIH * DARI Produk" datafile=" ~/App_Data/Northwind.mdb" > </asp:accessdatasource> <asp:gridview id="GridViewl" runat="server" datasourceid="NorthwindAccDataSource"> </asp:tampilan grid> </bentuk> </badan> </html> |
PILIH * DARI [Produk] DIMANA (ID Kategori=3) |
<asp:accessdatasource id="NorthwindAccDataSource" runat="server" selectcommand="PILIH * DARI [Produk] DI MANA (ID Kategori = 3) " Datafile="~App_Data/Northwind.mdb"> </asp:accessdatasource> |
PILIH * DARI Produk DIMANA ProductID = 12 PILIH * DARI Produk WHERE ProductName = 'Northwoods Cranberry Sauce' PILIH * DARI Produk DIMANA ProductID <11 PILIH * DARI Produk DIMANA ProductID <11 ORDER BERDASARKAN Nama Produk Menaik PILIH * DARI Produk DIMANA SupplierID = 6 ATAU SupplierID = 8 PILIH * DARI Produk DIMANA SupplierID = 24 DAN Harga Satuan > 10 |
Variabel dalam lokasi file MDB
File MDB disimpan di berbagai lokasi fisik pada hard disk: folder yang sama dengan halaman Web, subfolder di bawah halaman Web, atau folder lain di mesin, dll. Di Visual Web Developer, file-file ini dapat sering dijelajahi di desainer, dan jalur yang benar ke file MDB telah dimasukkan. Namun, jika Anda berencana memasukkan kode Anda sendiri, Anda harus mengikuti sintaks yang dijelaskan di bagian ini.
Properti DataFile dari kontrol AccessDataSource berisi jalur halaman yang dapat sepenuhnya memenuhi syarat (misalnya, dimulai dengan huruf kandar) atau ditentukan relatif terhadap lokasi halaman yang berisi AccessDataSource. Jalur juga bisa bersifat relatif terhadap aplikasi, yaitu menggunakan sintaks URL untuk mereferensikan jalur tersebut. Sintaks ini menggantikan simbol (~) dengan direktori root aplikasi, misalnya: ~App_Dataproduces.mdb. Penggunaan jalur relatif aplikasi mempermudah perpindahan halaman dari satu lokasi ke lokasi lain tanpa merusak referensi ke database, sehingga disarankan untuk menggunakan jalur relatif aplikasi bila memungkinkan.
Pertama, mari kita lihat sintaks jalur yang sepenuhnya memenuhi syarat, yang berisi seluruh jalur ke file MDB, dimulai dari akar drive komputer tempat file tersebut berada:
<asp:aksesdatasource . datafile= "C:WebSitesWebApplicationApp_DataMyMdb.mdb"> |
<asp:aksesdatasumber . .datafile="MyMdb.mdb"> |
<asp:accessdatasource . .datafile="MyDaughterFolder/MyMdb.mdb"> |
<asp:aksesdatasumber . .datafile="../MyMdb.mdb"> |
<asp:accessdatasource . .datafile="~App_Data/MyMdb.mdb> |