Recommandé: ASP met en œuvre la fin du titre long avec une ellipse L'extraction de longs articles de la base de données entrave toujours la disposition de la page Web. Donc, je veux extraire une partie des personnages fixement, puis il y a ... un remplacement par la suite. 1. Principe: Déterminez si la durée de l'article dépasse la longueur spécifiée. S'il dépasse la longueur spécifiée, seul celui spécifié sera affiché.
De nombreux programmeurs ASP ont eu l'expérience de l'exécution de requêtes de base de données, puis d'affichage des résultats de la requête dans des tables HTML. Habituellement, nous faisons ceci:
| Ce qui suit est le contenu cité: <% 'Créer une connexion / un coffre-fort 'Remplir les données dans l'objet Recordset %> <ballage> <% Faire tout en ne ce qui n'est pas Rs.Eof%> <tr> <td> <% = RS (Field1)%> </td> <td> <% = rs (field2)%> </td> . </tr> <% Rs.Movenext Boucle%> </ Table> |
S'il y a de nombreux résultats de requête, le serveur prendra beaucoup de temps pour expliquer votre script ASP, car il existe de nombreuses instructions de réponse. Écrivez à traiter. Si vous mettez tous les résultats de sortie par une longue chaîne (de <panding> à </plow>), le serveur interprétera simplement les instructions Response.Write et ce sera beaucoup plus rapide. Certains gars capables de Microsoft ont transformé leurs idées en réalité. (Remarque, il s'agit d'une fonctionnalité uniquement ADO 2.0 ou plus. Si vous utilisez toujours la version précédente, veuillez passer à la dernière version)
Avec la méthode getString, nous ne pouvons utiliser qu'une seule réponse.Write pour afficher toutes les sorties, ce qui est comme une boucle de boucle DO ... qui peut déterminer si le plateau d'enregistrement est EOF.
L'utilisation de getString est la suivante (tous les paramètres sont facultatifs):
String = RecordSet.getString (StringFormat, Numrows, ColumnDeliter, Rowdelimiter, NullexPr)
Pour générer une table HTML à partir du résultat des enregistrements, nous n'avons qu'à prendre soin de 3 des 5 paramètres de getString:
ColumnDelimiter (code HTML qui sépare les colonnes du jeu d'enregistrements), RowDelimiter (code HTML qui sépare les lignes du jeu d'enregistrements) et NullexPR (code HTML qui doit être généré lorsque l'enregistrement actuel est vide). Comme vous pouvez le voir dans l'exemple de la génération de la table HTML ci-dessous, chaque colonne est séparée par <td> ... </td> et chaque ligne est séparée par <tr> ... </tr>. Jetons un coup d'œil au code de l'exemple.
| Ce qui suit est le contenu cité: <% @ Language = vbscript%> <% Option explicite 'Bonne technique de codage 'Établir une connexion à DB Tabar Définir Conn = Server.CreateObject (ADODB.Connection) Conn.open dsn = Northwind; 'Créer un ensemble de disques Rs sombre Set rs = server.createObject (adodb.recordSet) Rs.open select * From Table1, Conn 'Stockez notre une seule grande chaîne Sombre strtable strTable = Rs.GetString (,, </td> <td>, </td> </tr> <tr> <td> ,) %> <html> <body> <ballage> <tr> <td> <% Response.Write (Strable)%> </tr> </td> </ Table> </docy> </html> <% «Nettoyage! Rs.Close Définir RS = rien Conn.Close Définir Conn = Rien %> |
La chaîne Strable est utilisée pour stocker le code que nous générons à partir du résultat de la table HTML de Select * dans le tableau 1.
Il y aura </td> <td> du code HTML entre chaque colonne de la table HTML, et le code HTML entre chaque ligne est </td> </td> <tr> <td>. La méthode getString sortira le code HTML correct et le stocke dans strTable, de sorte que nous n'avons besoin que d'une seule ligne de réponse.Write pour sortir tous les enregistrements dans l'ensemble de données. Jetons un coup d'œil à un exemple simple, en supposant que nos résultats de requête renvoient les lignes et colonnes suivantes:
| Ce qui suit est le contenu cité: COL1 COL2 COL3 Row1 Bob Smith 40 Row1 Ed Frank 43 Row1 Sue void 42 |
Ensuite, la chaîne renvoyée par l'instruction getString sera:
| Ce qui suit est le contenu cité: Bob </td> <td> Smith </td> <Td> 40 </td> <Td> </td> </td> </tr> <tr> < TD > Ed ... |
Pour être honnête, cette chaîne semble longue et désordonnée, mais c'est le code HTML que nous voulons. (Notez que dans le code HTML manuscrit, nous mettons <ballage> <tr> <td> devant Response.Write et </td> </tr> </s table> derrière.
Partager: erreurs et solutions communes dans les appels de base de données dans ASP Voici quelques erreurs dans les appels de base de données dans les programmes ASP qui sont souvent rencontrés lors de la maintenance virtuelle des machines. Maintenant, nous les collectons et les organisons comme suit: Impossible d'ouvrir le mot-clé de registre (8007000E) Microsoft Ole DB Provider for ODBC Drivers Error '8007000e' [micro