أحدث البرامج التعليمية وتطوير الشبكة
 

ADO تسريع مع GetString ()


استخدام GetString() طريقة لتسريع النصي ASP الخاص بك (بدلا من استخدام لResponse.Write متعددة).


و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> إلى </ الجدول>، ومن ثم إخراج ذلك - باستخدام Response.Write مرة واحدة فقط.


و GetString() الطريقة

و GetString() الأسلوب يسمح لك بعرض السلسلة مع Response.Write واحد فقط. كما أنه يقضي على ما يفعل ... كود حلقة والاختبار الشرطي أن يتحقق إذا كانت السجلات في EOF.

بناء الجملة

str = rs.GetString(format,rows,coldel,rowdel,nullexpr)

لإنشاء جدول HTML مع البيانات من السجلات، ونحن بحاجة فقط إلى استخدام ثلاثة من المعلمات أعلاه (all parameters are optional) :

  • coldel - في HTML لاستخدام كعمود فاصل
  • rowdel - في HTML لاستخدام كصف فاصل
  • nullexpr - في HTML لاستخدام إذا كان العمود هو NULL

Note: إن GetString() طريقة هو 2.0 ميزة ADO. يمكنك تحميل 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>","&nbsp;")
%>

<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>

شاهد المثال »

المتغير شارع أعلاه على سلسلة من كافة الأعمدة والصفوف التي تم إرجاعها بواسطة بيان SQL SELECT. بين كل عمود وHTML </td><td> سوف تظهر، وبين كل صف، وHTML </td></tr><tr><td> ستظهر. هذا وسوف تنتج HTML بالضبط نحتاج مع Response.Write واحد فقط.