شتابدهی اسکریپت با استفاده از 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 مورد نیاز را به دست میآوریم.