เร่งความเร็วสคริปต์ ADO ด้วย GetString()

请使用 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)

রেকর্ডসেট থেকে হার্ডলমেন্ট তৈরি করতে, আমরা উপরোক্ত পারামিটারগুলির মধ্যে তিনটি ব্যবহার করব (সবকটা অপশনাল):

  • coldel - কলম সেপারেটর হিসাবে ব্যবহৃত HTML
  • rowdel - হারডলমেন্ট হিসাবে ব্যবহৃত HTML
  • nullexpr - কলম খালি হলে ব্যবহৃত HTML

মন্তব্য:GetString() মথদা এডো 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 แค่ครั้งเดียว