Direkomendasikan: ASP mengimplementasikan akhir dari judul panjang dengan elipsis Mengekstraksi artikel panjang dari database selalu menghambat tata letak halaman web. Jadi, saya ingin mengekstrak bagian karakter secara lekat, dan kemudian ada ... pengganti sesudahnya. 1. Prinsip: Tentukan apakah panjang artikel melebihi panjang yang ditentukan. Jika melebihi panjang yang ditentukan, hanya yang ditentukan yang akan ditampilkan.
Banyak programmer ASP memiliki pengalaman menjalankan kueri basis data dan kemudian menampilkan hasil kueri dalam tabel HTML. Biasanya kami melakukan ini:
| Berikut ini adalah konten yang dikutip: <% 'Buat koneksi / recordset 'Mengisi data ke dalam objek Recordset %> <able> < % Lakukan sementara tidak rs.eof %> <tr> <td> <% = rs (field1)%> </td> <td> <% = rs (field2)%> </td> . </tr> <% rs.movenext Loop %> </boable> |
Jika ada banyak hasil kueri, server akan membutuhkan banyak waktu untuk menjelaskan skrip ASP Anda, karena ada banyak respons. Pernyataan tertulis untuk diproses. Jika Anda menempatkan semua hasil output dalam string panjang (dari <ablable> ke </able>), server hanya akan menafsirkan respons.write pernyataan dan itu akan jauh lebih cepat. Beberapa pria yang cakap di Microsoft telah mengubah ide -ide mereka menjadi kenyataan. (Catatan, ini adalah fitur yang hanya ADO 2.0 atau lebih. Jika Anda masih menggunakan versi sebelumnya, silakan tingkatkan ke versi terbaru)
Dengan metode getstring, kita hanya dapat menggunakan satu respons. Tuliskan untuk menampilkan semua output, yang seperti do ... loop loop yang dapat menentukan apakah recordset adalah EOF.
Penggunaan getstring adalah sebagai berikut (semua parameter adalah opsional):
String = recordset.getString (stringFormat, numrows, columnDelimiter, rowDelimiter, nullexpr)
Untuk menghasilkan tabel HTML dari hasil recordset, kita hanya perlu peduli sekitar 3 dari 5 parameter getstring:
ColumnDelimiter (kode html yang memisahkan kolom dari set rekaman), ROWDELIMITER (kode HTML yang memisahkan baris set rekaman), dan NULLEXPR (kode HTML yang harus dihasilkan ketika catatan saat ini kosong). Seperti yang dapat Anda lihat dalam contoh menghasilkan tabel HTML di bawah ini, setiap kolom dipisahkan oleh <td> ... </td> dan setiap baris dipisahkan oleh <tr> ... </tr>. Mari kita lihat kode untuk contoh.
| Berikut ini adalah konten yang dikutip: < %@ Bahasa = VBScript %> <% Opsi eksplisit 'teknik pengkodean yang baik 'Tetapkan koneksi ke DB Redup conn Set Conn = Server.CreateObject (AdodB.Connection) Conn.Open DSN = Northwind; 'Buat Recordset Redup Set RS = Server.CreateObject (ADODB.Recordset) rs.open pilih * dari table1, conn 'Simpan satu senar besar kami Redup strtable strtable = rs.getString (,, </td> <td>, </td> </tr> <tr> <td> ,) %> <Html> <body> <able> <tr> <td> < % Response.write (strtable) %> </tr> </td> </boable> </body> </html> <% 'Pembersihan! rs.close Setel RS = Tidak Ada Conn.Close Setel Conn = Tidak Ada %> |
String strtable digunakan untuk menyimpan kode yang kami hasilkan dari tabel html hasil pilih * dari tabel1.
Akan ada </td> <td> kode HTML antara setiap kolom tabel HTML, dan kode HTML antara setiap baris adalah </td> </td> <tr> <td>. Metode getstring mengeluarkan kode HTML yang benar dan menyimpannya di Strtable, sehingga kami hanya membutuhkan satu baris respons. Menulis untuk menghasilkan semua catatan dalam dataset. Mari kita lihat contoh sederhana, dengan asumsi bahwa hasil kueri kami mengembalikan baris dan kolom berikut:
| Berikut ini adalah konten yang dikutip: COL1 COL2 COL3 Row1 Bob Smith 40 Row1 Ed Frank 43 Row1 Sue Void 42 |
Maka string yang dikembalikan oleh pernyataan Getstring adalah:
| Berikut ini adalah konten yang dikutip: Bob </td> <td> Smith </td> <td> 40 </td> <td> </td> </td> </tr> <tr> <tr> <tr> <ttr> td > Ed ... |
Sejujurnya, string ini terlihat panjang dan berantakan, tapi ini kode HTML yang kita inginkan. ;
Bagikan: Kesalahan dan Solusi Umum dalam Panggilan Database di ASP Berikut ini adalah beberapa kesalahan dalam panggilan database dalam program ASP yang sering ditemui selama pemeliharaan mesin virtual. Sekarang kami mengumpulkan dan mengaturnya sebagai berikut: Tidak dapat membuka kata kunci registri (8007000e) Microsoft OLE DB penyedia untuk kesalahan driver ODBC '8007000e' [micr