Empfohlen: ASP implementiert das Ende des langen Titels mit einer Ellipsis Das Extrahieren langer Artikel aus der Datenbank behindert immer das Layout der Webseite. Also möchte ich einen Teil der Zeichen fixiert extrahieren, und dann gibt es ... danach einen Ersatz. 1. Prinzip: Bestimmen Sie, ob die Länge des Artikels die angegebene Länge überschreitet. Wenn es die angegebene Länge überschreitet, wird nur die angegebene angezeigt.
Viele ASP -Programmierer hatten die Erfahrung, Datenbankabfragen auszuführen und dann die Abfrageergebnisse in HTML -Tabellen anzuzeigen. Normalerweise machen wir das:
| Das Folgende ist der zitierte Inhalt: <% 'Verbindung / Datensatz erstellen 'Daten in das Recordset -Objekt einfüllen %> <tabelle> < % Tun, während nicht Rs.eof %> <tr> <Td> <% = rs (field1)%> </td> <Td> <% = rs (field2)%> </td> . </Tr> <% Rs.Movenext Schleife %> </Table> |
Wenn es viele Abfrageergebnisse gibt, nimmt sich der Server viel Zeit, um Ihr ASP -Skript zu erklären, da viele Antwortanweisungen zu verarbeiten sind. Wenn Sie alle Ausgabeergebnisse in einer langen Zeichenfolge (von <Tabelle> nach </table>) einfügen, interpretiert der Server nur die Antwort. Schreiben Sie Anweisungen und es ist viel schneller. Einige fähige Leute von Microsoft haben ihre Ideen in die Realität umgewandelt. (Beachten Sie, dass dies eine Funktion ist, die nur ADO 2.0 oder höher. Wenn Sie noch die vorherige Version verwenden, upgraden Sie bitte auf die neueste Version.)
Mit der GetString -Methode können wir nur eine Antwort verwenden. Schreiben Sie, um alle Ausgänge anzuzeigen. Dies ist wie eine Do -... -Schleife, die bestimmen kann, ob das Datensatz ein EOF ist.
Die Verwendung von GetString ist wie folgt (alle Parameter sind optional):
String = recordset.getString (StringFormat, Numrows, ColumnDelimiter, Rowdelimiter, Nullexpr)
Um eine HTML -Tabelle aus dem Recordset -Ergebnis zu generieren, müssen wir uns nur um 3 der 5 Parameter von GetString kümmern:
ColumnDelimiter (HTML -Code, der Spalten des Datensatzsatzes trennen), Rowdelimiter (HTML -Code, der Zeilen des Datensatzsatzes trennen) und Nullexpr (HTML -Code, der generiert werden sollte, wenn der aktuelle Datensatz leer ist). Wie Sie im Beispiel der Erzeugung der HTML -Tabelle unten sehen können, wird jede Spalte durch <Td> ... </td> getrennt und jede Zeile wird durch <tr> ... </tr> getrennt. Schauen wir uns den Code für das Beispiel an.
| Das Folgende ist der zitierte Inhalt: < %@ Sprache = vbScript %> <% Option explizite 'gute Codierungstechnik 'Die Verbindung zu DB herstellen Dim Conn Setzen Sie conn = server.createObject (adodb.Connection) conn.open dsn = nordwind; 'Erstellen Sie ein Datensatz Dim Rs Setzen Sie rs = server.createObject (adodb.Recordset) rs.open auswählen * aus Tabelle 1, conn 'Speichern Sie unsere einzige große Saite Dunkeler Strtable strtable = rs.getString (,, </td> <td>, </td> </tr> <tr> <td> ,) %> <html> <body> <tabelle> <tr> <td> < % Response.write (strtable) %> </Tr> </td> </Table> </Body> </Html> <% 'Aufräumen! rs.close Setzen Sie Rs = nichts conn.close Setzen Sie Conn = nichts %> |
Die Strtable -Zeichenfolge wird verwendet, um den Code zu speichern, den wir aus dem HTML -Tabellenergebnis von Select * aus Tabelle 1 generieren.
Zwischen jeder Spalte der HTML -Tabelle befindet sich </td> <td> HTML -Code, und der HTML -Code zwischen jeder Zeile beträgt </td> </td> <tr> <td>. Die GetString -Methode gibt den richtigen HTML -Code aus und speichert ihn in Strtable, sodass wir nur eine Antwortzeile benötigen. Schreiben Sie alle Datensätze im Datensatz aus. Schauen wir uns ein einfaches Beispiel an, vorausgesetzt, unsere Abfrageergebnisse geben die folgenden Zeilen und Spalten zurück:
| Das Folgende ist der zitierte Inhalt: Col1 col2 col3 Row1 Bob Smith 40 Row1 Ed Frank 43 Row1 Sue void 42 |
Dann wird die von der GetString -Anweisung zurückgegebene Zeichenfolge sein:
| Das Folgende ist der zitierte Inhalt: Bob </td> <td> Smith </td> <td> 40 </td> <td> </td> </td> </tr> <tr> < td > Ed ... |
Um ehrlich zu sein, sieht diese Zeichenfolge langwierig und chaotisch aus, aber es ist der HTML -Code, den wir wollen. (Beachten Sie, dass wir in dem handgeschriebenen HTML -Code <table> <tr> <td> vor die Antwort einstellen.
Teilen: Häufige Fehler und Lösungen in Datenbankaufrufen in ASP Im Folgenden sind einige Fehler in Datenbankaufrufen in ASP -Programmen aufgeführt, die häufig während der Wartung virtueller Maschinen auftreten. Jetzt sammeln und organisieren wir sie wie folgt: Microsoft Ole DB -Anbieter für ODBC -Drivers Fehler '8007000e' [microsoft Ole DB -Anbieter für ODBC -Treiber können das Registrierungsschlüsselwort (8007000E) nicht öffnen [MICR