شتاب‌دهی اسکریپت با استفاده از GetString() در ADO

برای شتاب‌دهی اسکریپت‌های ASP خود (به جای Response.Write چند خطی)، از روش GetString() استفاده کنید.

مثال

استفاده از 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
rs = Nothing
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
rs = Nothing
conn = Nothing
%>
</body>
</html>

متغیر بالا str شامل یک رشته از همه ستون‌ها و ردیف‌های بازگردانده شده توسط دستور SELECT است. بین هر ستون </td><td> و بین هر ردیف </td></tr><tr><td> خواهد بود. بنابراین، با استفاده از Response.Write یک بار، ما HTML مورد نیاز را به دست می‌آوریم.