Tăng tốc ván bản bằng GetString() của ADO
- Trang trước Xóa ADO
- Trang tiếp theo Đối tượng Command của ADO
Hãy sử dụng phương pháp GetString() để tăng tốc mã ASP của bạn (thay vì dòng Response.Write nhiều dòng).
Mô hình
- Sử dụng GetString()
- Cách sử dụng GetString() để hiển thị dữ liệu trong tập hợp bản ghi của bảng HTML.
Dòng Response.Write nhiều dòng
Dưới đây là ví dụ minh họa một phương pháp hiển thị kết quả truy vấn cơ sở dữ liệu trong bảng HTML:
<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.recordset") rs.Open "SELECT Companyname, Contactname FROM Customers", conn %> <table border="1" width="100%"> <%do until rs.EOF%> <tr> <td><%Response.Write(rs.fields("Companyname"))%></td> <td><%Response.Write(rs.fields("Contactname"))%></td> </tr> <%rs.MoveNext loop%> </table> <% rs.close conn.close set rs = Nothing set conn = Nothing %> </body> </html>
Đối với một truy vấn lớn, điều này sẽ tăng thời gian xử lý của脚本, vì máy chủ cần xử lý nhiều lệnh Response.Write.
Giải pháp là tạo toàn bộ chuỗi từ <table> đến </table>, sau đó xuất ra - chỉ sử dụng một lệnh Response.Write.
Phương thức GetString()
Phương thức GetString() cho phép chúng ta hiển thị tất cả các chuỗi chỉ bằng một lệnh Response.Write, thậm chí không cần mã do..loop hoặc kiểm tra điều kiện để kiểm tra tập hợp dữ liệu có ở EOF hay không.
Cú pháp
str = rs.GetString(format, rows, coldel, rowdel, nullexpr)
Để sử dụng dữ liệu từ tập hợp dữ liệu để tạo một bảng HTML, chúng ta chỉ cần sử dụng ba tham số trên (tất cả các tham số đều là tùy chọn):
- coldel - Ký tự phân隔 cột trong HTML
- rowdel - Ký tự phân隔 hàng trong HTML
- nullexpr - HTML được sử dụng khi cột trống
Ghi chú:Phương thức GetString() là tính năng của ADO 2.0. Bạn có thể tải xuống ADO 2.0 từ địa chỉ sau:http://www.microsoft.com/data/download.htm
Trong ví dụ sau, chúng ta sẽ sử dụng phương thức GetString() để lưu tập hợp dữ liệu thành một chuỗi:
<html> <body> <% set conn=Server.CreateObject("ADODB.Connection") conn.Provider="Microsoft.Jet.OLEDB.4.0" conn.Open "c:/webdata/northwind.mdb" set rs = Server.CreateObject("ADODB.recordset") rs.Open "SELECT Companyname, Contactname FROM Customers", conn str=rs.GetString(,,"</td><td>","</td></tr><tr><td>"," ") %> <table border="1" width="100%"> <tr> <td><%Response.Write(str)%></td> </tr> </table> <% rs.close conn.close set rs = Nothing set conn = Nothing %> </body> </html>
Biến trên có chứa một chuỗi chứa tất cả các cột và hàng được trả về bởi câu lệnh SELECT. Giữa mỗi cột sẽ xuất hiện </td><td> và giữa mỗi hàng sẽ xuất hiện </td></tr><tr><td>. Với việc sử dụng một lần Response.Write, chúng ta đã có được HTML cần thiết.
- Trang trước Xóa ADO
- Trang tiếp theo Đối tượng Command của ADO