-
'createConnection/recordset
'PopulatedataintorecordsetObject
-
<table>
<%dowhilenotrs.eof%>
<tr>
<td> <%= rs ("field1")%> </td>
<td> <%= rs ("field2")%> </td>
-
</tr>
<%Rs.Movenext
ลูป%>
</table>
หากผลลัพธ์การสืบค้นมีจำนวนมากเซิร์ฟเวอร์จะใช้เวลามากในการอธิบาย Aspscript ของคุณเนื่องจากมีการตอบกลับจำนวนมากคำสั่งให้ประมวลผล หากคุณใส่ผลลัพธ์ทั้งหมดในสตริงที่ยาวมาก (จากถึง) เซิร์ฟเวอร์จะตีความคำตอบการเขียนคำสั่งและมันจะเร็วขึ้นมาก ผู้ชายที่มีความสามารถบางคนที่ Microsoft ได้เปลี่ยนความคิดของพวกเขาให้เป็นจริง (หมายเหตุนี่เป็นคุณลักษณะที่ ADO2.0 หรือสูงกว่าหากคุณยังใช้เวอร์ชันก่อนหน้าโปรดอัปเกรดเป็นเวอร์ชันล่าสุด)
ด้วยวิธีการ GetString เราสามารถใช้การตอบสนองเพียงครั้งเดียวเขียนเพื่อแสดงเอาต์พุตทั้งหมดซึ่งเป็นเหมือนลูปลูปที่สามารถตรวจสอบได้ว่าชุดบันทึกเป็น EOF หรือไม่
การใช้งานของ GetString มีดังนี้ (พารามิเตอร์ทั้งหมดเป็นทางเลือก):
string = recordset.getString (stringFormat, numrows, columnDelimiter, rowdelimiter, nullexpr)
ในการสร้างตาราง HTML จากผลการบันทึกเราจำเป็นต้องดูแลประมาณ 3 จาก 5 พารามิเตอร์ของ GetString:
คอลัมน์ DELIMITER (รหัส HTML ที่แยกคอลัมน์ของชุดบันทึก), rowdelimiter (รหัส HTML ที่แยกแถวของชุดบันทึก) และ nullexpr (รหัส HTML ที่ควรสร้างเมื่อบันทึกปัจจุบันว่างเปล่า) อย่างที่คุณเห็นในตัวอย่างของการสร้างตาราง HTML ด้านล่างแต่ละคอลัมน์จะถูกคั่นด้วย [TD] ... [/td] และแต่ละแถวจะถูกคั่นด้วย [TR] ... [/tr] รหัสตัวอย่าง:
ต่อไปนี้เป็นตัวอย่างที่ยกมา:
<%@language = "vbscript"%>
<%optionexplicit'goodcodingTechnique
'AdentConnectionToDB
dimconn
setConn = server.createObject ("adodb.connection"))
conn.open "dsn = Northwind;"
'createAcordset
หรี่แสง
setRs = server.createObject ("adodb.recordset"))
rs.open "เลือก*fromtable1", Conn
'StoreouroneBigString
dimstrtable
strtable = rs.getString (,, "</td> <td>", "</td> </tr> <tr> <td>", "")
-
<html>
<body>
<table>
<tr> <td>
<%response.write (strtable)%>
</tr> </td>
</table>
</body>