Recommandé: Dans ASP, il implémente l'exportation des données de la base de données DBF à la table SQL Description: La structure de la base de données DBF doit être cohérente avec la table SQL. Ce qui suit est le contenu de référence: <% dim conndbf_dbf, driver_dbf, sourcetype_dbf, dbpath_dbf dim Conn_
8.4.3 Création d'un ensemble d'enregistrementsIl est très facile de créer un ensemble d'enregistrements, qui est réalisé en appelant la méthode ouverte de l'objet RecordSet:
RecordSet.Open [Source], [ActiveConnection], [CursorType], [LockType], [Options]
Les paramètres et descriptions sont présentés dans le tableau 8-3:
Tableau 8-3 Paramètres et descriptions de la méthode ouverte
paramètre
illustrer
Source
Source de données. Il peut s'agir d'un nom de table dans la base de données, une requête ou une procédure stockée, une chaîne SQL, un objet de commande ou un autre objet de commande adapté au fournisseur
ActiveConnection
La connexion utilisée par l'ensemble d'enregistrements. Il peut être une chaîne de connexion ou un objet de connexion ouvert
Cursortype
Le type de curseur utilisé. Doit être l'un des types de curseur définis, la valeur par défaut est adorable
Lockype
Le type de verrouillage utilisé. Doit être l'un des types de verrouillage définis, la valeur par défaut est AdlockReadonly
Options
Dites au fournisseur quel est le contenu du paramètre source, tel que les tables, les chaînes de texte, etc.
Par exemple, pour ouvrir le plateau d'enregistrements sur le tableau des auteurs dans les pubs de la base de données:
RSAUTHORS DIM
SET RSAUTHORS = Server.CreateObject (ADODB.RecordSet)
rsauthors.open auteurs, strconn
'Faites quelque chose ici
rsauthors.close
Définir rsauthors = rien
Notez qu'il existe plusieurs paramètres qui ne sont pas spécifiés. En fait, tous les paramètres sont facultatifs, et vous pouvez définir les valeurs de propriété correspondantes pour l'enregistrement d'enregistrement avant de les ouvrir:
RSAUTHORS DIM
SET RSAUTHORS = Server.CreateObject (ADODB.RecordSet)
Avec rsauteur
.Source = auteurs
.ActiveConnection = StrConn
.Cursortype = adoption pour
.LockType = AdlockReadonly
.Ouvrir
Se terminer avec
'Faites quelque chose ici
rsauthors.close
Définir rsauthors = rien
Une fois le jeu d'enregistrements ouvert, le pointeur actuel est automatiquement situé sur le premier enregistrement. S'il n'y a pas d'enregistrement dans l'ensemble d'enregistrements, les attributs EOF et BOF sont vrais:
rsauthors.open auteurs, strconn
Si rsauthors.bof et rsauthors.eof alors
'Les enregistrements sont vides
Terminer si
1. Paramètre d'options
Le paramètre d'options de la méthode ouverte permet de spécifier le contenu texte de commande. Il peut s'agir de l'une des constantes de commandement suivantes:
ADCMDText: Commandes de texte, telles que les chaînes SQL.
ADCMDTABLE: Nom de la table.
ADCMDSTOREDPROC: Nom de la procédure stockée.
ADCMDFILE: le nom de fichier de l'ensemble d'enregistrements enregistrés.
adcmdTableDirect: Nom de la table.
ADCMDURLBIND: Adresse URL.
La différence entre ADCMDTable et ADCMDTableDirect est très petite. Si vous souhaitez utiliser toutes les colonnes dans une table, l'utilisation d'ADCMDTableDirect facilitera l'exécution car ADO effectue des optimisations internes.
Si aucun type de commande n'est spécifié, ADO doit calculer le type de commande exécuté, ce qui entraînera des frais généraux supplémentaires.
Il y a deux autres options ici: ADCMDUnSpecifié signifie qu'il n'y a pas de type spécifié; ADCMDUNKNOW signifie que le type de commande est inconnu. Ils peuvent ne pas être utilisés en général.
Options supplémentaires
Le paramètre d'options peut être l'une des constantes ci-dessus, mais les constantes d'exécution suivantes peuvent également être ajoutées:
Adasyncexcute: exécuter les commandes de manière asynchrone.
AdasyncFetch: Après avoir obtenu le jeu de ligne initial, obtenez les lignes restantes de manière asynchrone.
AdasyncFetchBlocking: sauf pour obtenir des enregistrements et ne pas empêcher la commande d'exécuter, les autres sont similaires à AdasyncFetch.
AdexEchtenoreCords: La commande ne renvoie aucun enregistrement.
Le traitement asynchrone signifie que les opérations sont effectuées en arrière-plan, vous pouvez exécuter des commandes, puis continuer d'autres travaux sans attendre qu'ils se terminent (opération synchrone). Cela est particulièrement pratique lors de la création d'une interface utilisateur, car il peut être renvoyé de l'exécution de la commande pour afficher un contenu à l'utilisateur tandis que l'acquisition de données est toujours en arrière-plan. Ce n'est pas très utile pour les programmeurs ASP lors du retour des ensembles de dossiers, car le langage de script ne prend pas en charge les événements ADO, il n'est donc pas connu lorsque l'ensemble des enregistrements a terminé le décalage de remplissage. Lors du traitement de la mise à jour, supprimez ou insérez les commandes de données et ne renvoyant pas un ensemble d'enregistrements, les opérations asynchrones peuvent être utilisées, c'est-à-dire que si vous ne vous souciez pas des résultats.
D'un autre côté, l'option AdexecuTenoreCords est très utile. Il dit à ADO d'exécuter des commandes qui ne renvoient aucune donnée. Par conséquent, il n'est pas nécessaire de créer un ensemble d'enregistrements (peut-être vide en bref). Cela accélère la réalisation des opérations de requête pour les mises à jour ou les ajouts de données.
Pour ajouter une de ces options, vous pouvez utiliser le symbole OR (équivalent au signe plus)
adcmdstoredProc ou adexecutenoreCords
ADCMDSTOREPROC ADEXEUTENORECORDS
Dans le chapitre suivant, vous verrez une introduction plus détaillée au contenu connexe, car cela sera plus utile lorsque vous traitez des commandes (plutôt que des ensembles d'enregistrements).
2. Déplacez-vous dans l'ensemble d'enregistrements
Une fois qu'un ensemble d'enregistrements est ouvert, il est souvent nécessaire de traverser chaque enregistrement. Cela nécessite l'utilisation de l'attribut EOF. Lorsque la fin du jeu d'enregistrements est atteinte, EOF devient vrai, car une boucle peut être créée comme ceci:
rsauthors.open auteurs, strconn
Bien que ce ne soit pas des rsauchors.eof
Response.write rsauthors (Au_lname :) &, & _
rsauthors (aU_fname) & <br>
rsauthors.movènext
Se promener
L'exemple ci-dessus boucle jusqu'à ce que l'attribut EOF soit vrai avant la sortie. La méthode MovEnext est utilisée pour passer à l'enregistrement suivant.
Si le jeu d'enregistrements permet un mouvement vers l'arrière, vous pouvez utiliser la méthode MovePrevious. Dans ce cas, la valeur d'attribut BOF doit être détectée dans la boucle. Il existe également des méthodes MoveFirst et Movelast qui passent respectivement aux premier et derniers enregistrements:
rsauthors.open auteurs, strconn, adoptendamic
'Maintenant sur le premier record
rsauthors.movelast
'Maintenant sur le dernier record
rsauthors.moveprevious
rsauthors.moveprevious
'Maintenant, trois lignes de la fin du coffre
rsauthors.movefirst
'De retour au début
3. Utiliser des collections de champs
La collection Fields contient des objets Fields pour chaque champ (colonne) dans l'ensemble d'enregistrements. La collection Fields est la collection par défaut de plateaux d'enregistrements, il peut donc être omis lors de l'accès aux champs, tout comme dans l'exemple While ... Wend ci-dessus. Par conséquent, il existe plusieurs façons d'accéder aux champs:
rsAuthors.fields (AU_LNAME) .Value
rsauthors (aU_lName) .Value
rsautheurs (1). VALUE
rsauthors.fields (1) .Value
Vous pouvez utiliser le nom du champ ou utiliser ses bits dans la collection
Partager: ASP implémente l'envoi de notifications par e-mail tout en soumettant des formulaires à la base de données Ce qui suit est le contenu cité: <% dim objcdomail set objcdomail = server.createObject (cdonts.newmail) objcdomail.from = xxx @ h