ASP memiliki salah satu fungsi terpenting yaitu memungkinkan Anda terhubung ke database dengan sangat mudah. Biasanya terhubung ke Access atau database SQL. Karena Access adalah cara termudah untuk memulai, dan Access mungkin sudah diinstal pada mesin Anda, kami akan menggunakan Access dalam contoh berikut. Setelah Anda mempelajari metode teknis inti dalam menghubungkan database ASP dan Access, saat Anda mulai menggunakan server SQL, Anda akan menemukan bahwa teknologi utama yang diperlukan untuk keduanya pada dasarnya sama.
Buat nama sumber data (DSN)
Anda dapat membuat database Anda tersedia untuk digunakan di ASP dengan membuat sistem DSN untuk database Anda di panel kontrol. Anda dapat membuat beberapa DSN di komputer lokal Anda, masing-masing DSN berhubungan dengan database berbeda yang Anda gunakan. Setelah menyiapkan DSN, Anda dapat menguji halaman Anda di server lokal. Jika situs web Anda
dilayani oleh ISP, dan ISP tersebut mendukung ASP, kemungkinan besar ISP tersebut akan menyediakan antarmuka GUI untuk membuat DSN untuk database Anda.
Di Windows 95/98/NT, buka Control Panel (Start Menu -> Settings -> Control Panel) dan klik dua kali ODBC untuk masuk.
Pilih DSN sistem dan klik Tambah.
Pilih "Microsoft Access Driver" dan klik Selesai.
Isikan nama sumber data. Ini adalah nama yang Anda berikan pada database Anda, jadi operasinya sama dengan alias.
Klik tombol Pilih di pilihan database untuk menelusuri lokasi di sistem tempat database Access yang Anda buat disimpan.
Klik Oke
DSN baru sekarang akan muncul di DSN sistem dan akan tersedia di server lokal Anda.
Menyambungkan ke database Mari kita siapkan koneksi tanpa DSN dan lihat cara menyambung ke database. Saat Anda membuat DSN, Anda sudah menyimpan beberapa informasi tentang database, sehingga Anda tidak perlu mengulanginya setiap kali Anda perlu menggunakan beberapa informasi seperti tipe database, nama, lokasi penyimpanan dan properti opsional, pengguna dan kata sandi.
Untuk membuat koneksi tanpa DSN, Anda perlu memberikan informasi yang sama. Contoh berikut menunjukkan cara membuat koneksi tanpa DSN ke database bernama produk:
<%
StrConnect = "Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:dbproducts.mdb"
Setel objConn = Server.CreateObject ("ADODB.Connection")
objConn.OpenStrConnect
%>
Baris kedua mendefinisikan driver dan jalur fisik database. Untuk menggunakan koneksi tanpa DSN, Anda perlu mengetahui lokasi file sebenarnya (jalur absolut). Server.MapPath menyediakan lingkungan kerja yang sederhana bagi siapa saja yang menggunakan layanan hosting untuk menemukan jalur akses aktual yang sulit ditemukan.
Jika kita telah membuat sistem bernama DSN produk, kode koneksinya harus:
<%
Setel objConn = Server.CreateObject ("ADODB.Connection")
objConn.Buka "produk"
%>
Sekarang database sudah terbuka, apa yang dapat Anda lakukan? Hal pertama tentu saja membaca serangkaian catatan di database dan memasukkannya ke halaman Anda. Namun sebelum itu, Anda memerlukan sebuah recordset.
Kumpulan rekaman
Recordset adalah semua informasi yang disimpan pada tabel database khusus. Oleh karena itu, saat Anda membuka kumpulan data ini, konten semua baris dan kolom dalam tabel dapat diakses. Anda perlu membuka kumpulan rekaman ini sama seperti Anda perlu membuka koneksi database. Perintahnya serupa:
Set objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Open "dapat diunduh", strConnect, 0,1,2
membuat kumpulan data (objRec) bernama tabel yang dapat diunduh, yang didefinisikan dalam strConnect dalam database produk. Dengan menggunakan Recordset open, kita dapat mengulang tabel ini dan menampilkan semua isinya di layar. Alternatifnya, kita bisa menguji isi kolom tertentu, atau cukup menulis ke layar apa yang kita pedulikan.
Setiap kolom mewakili suatu bidang. Jadi, jika tabel databasenya seperti ini:
Product ID | SKU | Name | File |
1 | PR12345 | Product A | install_a.exe |
2 | PR12346 | Product B | Install_b.exe |
Kemudian, kita memiliki isi kolom berikut: ProductID, SKU, Nama, dan File. Tabel Anda kemungkinan besar akan memiliki banyak kolom tambahan, yang mungkin berisi banyak hal, seperti harga atau deskripsi produk (item). Namun diagram skematik ini dapat memberi Anda konsep paling dasar tentang tabel database.
Pengisian isi recordset sangat mudah menggunakan recordset. Jika Anda ingin mengulang database dan mencetak semua informasi ke layar, Anda dapat melakukan hal berikut:
While NOT objRec.EOF
' mengatakan untuk melakukan ini selama kita belum mencapai akhir file
Response.WriteobjRec("ID Produk") & ", "
Respon.WriteobjRec("SKU") & ", "
Response.WriteobjRec("Nama") & ", "
Respon.WriteobjRec("File") & "<BR>"
objRec.MoveNext
Pergi ke;
Bahkan jika Anda belum pernah menggunakan loop dengan cara ini, Anda masih dapat membaca kode ini untuk menulis informasi ke string yang dipisahkan koma, dan ketika baris baru dibuat di tabel database, buat baris baru untuk mencatat baris tersebut di tabel. Anda dapat menggunakan metode yang sama untuk menulis data ke tabel HTML. Dengan menggunakan Response.Write untuk menambahkan tag TABLE Anda, ada beberapa hal yang perlu diingat:
tag HTML Anda dan konten dalam tanda kutip.
Jika tag atau konten Anda menggunakan tanda kutip, pastikan untuk menggunakan tanda kutip ganda:
<UKURAN FONT=""+2"">.
Gunakan & untuk menghubungkan variabel dan informasi HTML/konten untuk memilih bidang dalam kumpulan data. Asumsikan bahwa basis data produk kami juga berisi bidang yang disebut OS. Asumsikan bahwa bidang ini adalah pembatas platform. Sekali lagi, mari kita asumsikan bahwa data yang disimpan dalam bidang ini hanya sebagai berikut: Windows NT, Windows 95, Windows 98, Windows, Mac, Unix, atau Linux.
Selanjutnya, kita dapat mengonfirmasi bidang mana yang perlu kita cetak ke layar dan bidang mana yang ingin kita abaikan. Alternatifnya, kita dapat memilih kolom mana yang menggunakan satu format dan kolom lainnya menggunakan format berbeda, misalnya menggunakan warna berbeda.
Menggunakan loop If... sederhana dapat memberi kita kontrol lebih besar terhadap database. Pertama mari kita cetak catatan tentang produk Windows NT:
<TABLE BORDER=0 WIDTH=600>
<TR><TD COLSPAN=4 ALIGN=CENTER><FONT SIZE="+1"<<B>Produk Windows NT</B></FONT></TD></ TR>
<%
Sementara BUKAN objRec.EOF
If objRec("OS") = "Windows NT" THEN ' menentukan kriteria
Response.Write "<TR><TD BGCOLOR=""#FFFF66"">" & objRec("ProductID") & " </TD>"
Respon.Tulis "<TD>" & objRec("SKU") & "</TD>"
Respon.Tulis "<TD>" & objRec("Nama") & "</TD>"
Respon.Tulis "<TD>" & objRec("File") & "</TD></TR>"
berakhir jika
objRec.MoveNext
Pergi
%>
</TABEL>
Menambahkan Record Setelah Anda mulai menggunakan recordset dan ASP, Anda pasti ingin dapat menambahkan data ke database melalui jaringan. Menambahkan konten itu penting, misalnya saat Anda ingin pengunjung web Anda meninggalkan pandangan dan pendapatnya, atau saat Anda ingin melakukan pembaruan administratif.
Kode berikut membuka kumpulan data yang terkait dengan tabel database dengan nama buku dan penulisnya. Anda mungkin pernah melihat ini sebelumnya, tapi kali ini, tiga spesifikasi terakhir mendefinisikan tipe pointer yang berbeda: adOpenStatic, adLockOptimistic, adCmdTable:
<% ' koneksi database sudah dibuat;
Setel objRec = Server.CreateObject ("ADODB.Recordset")
objRec.Buka "buku", bookdb, adOpenStatic, adLockOptimistic, adCmdTable
%>
(Jika Anda tidak menggunakan file salinan adovbs.inc, baris ketiga seharusnya: objRec.Open "books", bookdb, 3,3,2)
. untuk memberitahukannya Apa yang harus ditambahkan. Dalam hal ini, katakanlah kita mengambil variabel dari tabel: strBookTitle dan strBookAuthor. Tabel kita, buku, memiliki dua bidang yang disebut Judul dan Penulis, sehingga kita dapat menambahkan catatan baru dengan menggunakan pernyataan berikut:
<%
objRec.AddNew
ObjRec("Judul") = strJudul Buku
objRec("Penulis") = strBookAuthor
objRec.Update
%>
strBookTitle dan strBookAuthor mewakili nilai dan biasanya diakses oleh pengguna. Jika Anda hanya ingin menguji fungsionalitas penambahan, Anda dapat menambahkan variabel untuk judul dan penulis - ingatlah untuk menggunakan tanda kutip. Saat pertama kali Anda menggunakannya, Anda mungkin akan segera membuka database Anda untuk memastikan pembaruan terjadi.
Jenis Recordset Pada contoh objRec.Open yang ditampilkan, Anda akan menemukan kata 0, 1, dan 2 di akhir. Angka-angka ini mewakili tipe penunjuk yang berbeda. Jenis yang Anda gunakan tergantung pada tujuan penggunaan Anda. Misalnya, jika Anda tidak perlu mengubah atau menambahkan rekaman apa pun, Anda bisa menggunakan tipe Kunci. Ketika Anda berencana untuk mengubah atau memperbarui database, jenis yang Anda pilih akan berbeda.
0,1,2 sebenarnya mewakili:
adOpenForwardOnly, adLockReadOnly, adCmdTable.
Tentu saja, jika Anda sudah memiliki cadangan adovbs.inc di server Anda, Anda juga dapat menggunakan kata-kata ini secara langsung tanpa menggunakan angka. adovbs.inc berisi tiga konstanta ini dan daftar konstanta lainnya.