ADO ยกระดับสคริปต์ด้วย GetString()
- หน้าก่อน ลบ ADO
- หน้าต่อไป ADO Command
ใช้วิธี GetString() ต่อการเร่งความเร็วของสคริปต์ ASP ของคุณ (แทนการใช้ Response.Write หลายบรรทัด)
ตัวอย่าง
- ใช้ GetString()
- วิธีใช้ GetString() ในการแสดงข้อมูลในเรคอร์ดเซ็ตในตาราง HTML
มาตราฐาน Response.Write หลายบรรทัด
ตัวอย่างดังนี้แสดงวิธีแสดงการค้นหาข้อมูลฐานข้อมูลในตาราง 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>
สำหรับคำสอบที่ใหญ่ การกระทำนี้จะเพิ่มเวลาการประมวลผลของสคริปต์ เนื่องจากเซิร์ฟเวอร์ต้องประมวลผลคำสั่ง Response.Write หลายครั้ง
แนะนำแก้ปัญหานี้คือจะสร้างตัวแปรข้อความทั้งหมดจาก <table> ถึง </table> และพิมพ์มันออกด้วยคำสั่ง Response.Write แค่ครั้งเดียว
วิธี GetString()
วิธี GetString() ทำให้เราสามารถแสดงข้อความทั้งหมดด้วยคำสั่ง Response.Write แค่ครั้งเดียว และมันไม่จำเป็นต้องมีรหัส do..loop หรือทดสอบเงื่อนไขเพื่อตรวจสอบว่าเซ็ตข้อมูลอยู่ใน EOF หรือไม่
การใช้งาน
str = rs.GetString(format,rows,coldel,rowdel,nullexpr)
เพื่อใช้ข้อมูลจากเซ็ตข้อมูลเพื่อสร้างตาราง HTML พวกเราต้องใช้เพียงสามปรมาณปรากฏที่มีอยู่ด้านบน (ทุกค่าเป็นตัวเลือก)
- coldel - HTML ที่ใช้เป็นการแบ่งคอลัมน์
- rowdel - HTML ที่ใช้เป็นการแบ่งบรรทัด
- nullexpr - HTML ที่ใช้เมื่อคอลัมน์ว่าง
หมายเหตุ:วิธี GetString() คือคุณสมบัติของ ADO 2.0 คุณสามารถดาวน์โหลด ADO 2.0 จากที่สูตรต่อไปนี้http://www.microsoft.com/data/download.htm
ในตัวอย่างด้านล่างนี้ เราจะใช้วิธี GetString() ต่อรวมความหมายของเซ็ตข้อมูลเป็นตัวแปรของข้อความ
<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>
ตัวแปร str ในบนนี้มีข้อมูลทั้งหมดของคอลัมน์และบรรทัดที่กลับมาจากคำสั่ง SELECT ด้วยรูปแบบ </td><td> ระหว่างคอลัมน์ และ </td></tr><tr><td> ระหว่างบรรทัด ดังนั้นเราสามารถได้ HTML ที่ต้องการโดยการใช้ Response.Write แค่ครั้งเดียวเท่านั้น
- หน้าก่อน ลบ ADO
- หน้าต่อไป ADO Command