Banyak programmer ASP memiliki pengalaman mengeksekusi query database dan kemudian menampilkan hasil query dalam tabel HTML. Biasanya kami melakukan ini:
| Berikut kutipannya: <% 'Buat koneksi/recordset 'Isi data ke dalam objek kumpulan rekaman %> <TABEL> <% Lakukan Sementara tidak rs.EOF %> <TR> <TD ><%=rs(Bidang1)% ></TD> <TD ><%=rs(Bidang2)% ></TD> . </TR> <% rs.MoveNext Ulangi %> </TABEL> |
Jika hasil querynya banyak, server akan memakan banyak waktu untuk menginterpretasikan script ASP Anda karena banyak pernyataan Response.Write yang harus diproses. , maka Server hanya perlu menafsirkan pernyataan Response.Write satu kali, dan itu akan jauh lebih cepat. Beberapa orang yang cakap di Microsoft telah mewujudkan ide tersebut (Perhatikan bahwa ini adalah fitur yang hanya tersedia di ADO 2.0 dan yang lebih baru. Jika Anda masih menggunakan versi sebelumnya, silakan upgrade ke versi terbaru)
Dengan metode GetString, kita hanya dapat menggunakan satu Response.Write untuk menampilkan semua output. Ini seperti perulangan DO... LOOP yang dapat menentukan apakah Recordset adalah EOF.
Penggunaan GetString adalah sebagai berikut (semua parameter bersifat opsional):
String = recordset.GetString(StringFormat, NumRows, ColumnDelimiter, RowDelimiter, NullExpr)
Untuk menghasilkan tabel HTML dari hasil Recordset, kita hanya perlu memperhatikan 3 dari 5 parameter GetString:
ColumnDelimiter (kode HTML yang memisahkan kolom-kolom dari kumpulan data), RowDelimiter (kode HTML yang memisahkan baris-baris dari kumpulan data), dan NullExpr (kode HTML yang harus dihasilkan ketika data saat ini kosong). Seperti yang Anda lihat pada contoh pembuatan tabel HTML di bawah ini, setiap kolom dipisahkan oleh... dan setiap baris dipisahkan oleh.... Contoh kode:
| Berikut kutipannya: <%@ BAHASA=VBSCRIPT %> <% Option Explicit 'Teknik pengkodean yang bagus 'Jalin koneksi ke DB Sambungan redup Setel koneksi = Server.CreateObject(ADODB.Connection) samb.Buka DSN=Angin Utara; 'Buat kumpulan rekaman Redup Setel rs = Server.CreateObject(ADODB.Recordset) rs.Buka SELECT * FROM table1, samb 'Simpan satu tali besar kita Redupkan strTable strTable = rs.GetString(,,</td><td>,</td></tr><tr><td> , ) %> <HTML> <TUBUH> <TABEL> <TR><TD> <% Respon.Tulis(strTable) %> </TR></TD> </TABEL> </BODI> </HTML> <% 'Pembersihan! rs.Tutup Setr=Tidak ada samb.Tutup Setel samb = Tidak ada %> |
String strTable digunakan untuk menyimpan kode tabel HTML yang kita generate dari hasil SELECT * FROM table1.
Akan ada kode HTML di antara setiap kolom tabel HTML, dan kode HTML di antara setiap baris adalah. Metode GetString akan menampilkan kode HTML yang benar dan menyimpannya di strTable, sehingga kita hanya memerlukan satu baris Response.Write untuk menghasilkan output. kumpulan data Semua catatan . Mari kita lihat contoh sederhana, dengan asumsi bahwa hasil kueri kita mengembalikan baris dan kolom berikut:
| Berikut kutipannya: Kol1 Kol2 Kol3 Baris 1 Bob Smith 40 Baris 1 Ed Frank 43 Baris 1 Tuntut Batal 42 |
String yang dikembalikan oleh pernyataan GetString adalah:
| Berikut kutipannya: Bob</td ><td >Smith</td ><td >40</td ><td ></td ></tr ><tr >< td >Ed... |
String ini terlihat panjang dan berantakan, tetapi ini adalah kode HTML yang diinginkan. (Perhatikan bahwa kami akan meletakkannya setelahnya dalam kode HTML tulisan tangan. Ini karena string pemformatan kami tidak berisi string yang diperlukan untuk header dan footer tabel ini.)