Αύξηση Αποδοτικότητας Σκέψης μέσω GetString() ADO

Χρησιμοποιήστε τη μέθοδο GetString() για να επιταχύνετε το ASP script σας (αντί για πολλαπλές γραμμές 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>

Για μια μεγάλη ερώτηση, αυτό μπορεί να αυξήσει το χρόνο επεξεργασίας του σκευάσματος, καθώς ο διακομιστής πρέπει να χειριστεί πολλά command του Response.Write.

Η λύση είναι να δημιουργήσουμε την πλήρη αλφαριθμητική ακολουθία, από το <table> μέχρι το </table>, και να την εκτυπώσουμε με μια μόνο χρήση του Response.Write.

Μέθοδος GetString()

Η μέθοδος GetString() μας δίνει τη δυνατότητα να εμφανίσουμε όλες τις αλφαριθμητικές ακολουθίες χρησιμοποιώντας μόνο μια φορά το Response.Write, και χωρίς να χρειάζεται κώδικες do..loop ή condition tests για να ελέγξουμε αν το σύνολο των δεδομένων βρίσκεται στο 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>. Με τη χρήση μόνο μιας εντολής Response.Write, θα αποκτήσουμε το απαιτούμενο HTML.