Empfohlen: In ASP implementiert es das Exportieren von Daten aus der DBF -Datenbank in die SQL -Tabelle Beschreibung: Die DBF -Datenbankstruktur muss mit der SQL -Tabelle übereinstimmen. Im Folgenden finden Sie den Referenzinhalt: <% dim conndbf_dbf, triver_dbf, Sourcetype_dbf, dbpath_dbf dim conn_
8.4.3 Erstellen eines DatensatzsatzesEs ist sehr einfach, einen Datensatzsatz zu erstellen, der durch Aufrufen der offenen Methode des Recordset -Objekts erreicht wird:
Recordset.open [Quelle], [ActiveConnection], [Cursortype], [LockType], [Optionen]
Die Parameter und Beschreibungen sind in Tabelle 8-3 angezeigt:
Tabelle 8-3 Parameter und Beschreibungen der offenen Methode
Parameter
veranschaulichen
Quelle
Datenquelle. Es kann ein Tabellenname in der Datenbank, eine gespeicherte Abfrage oder -prozedur, eine SQL -Zeichenfolge, ein Befehlsobjekt oder ein anderes Befehlsobjekt sein, das für den Anbieter geeignet ist
ActiveConnection
Die Verbindung, die durch den Datensatzsatz verwendet wird. Es kann eine Verbindungszeichenfolge oder ein geöffnetes Verbindungsobjekt sein
Cursortyp
Die Art des Cursors verwendet. Muss einer der definierten Cursortypen sein, der Standardwert ist adforwardonly
LockType
Der verwendete Sperrtyp. Muss einer der definierten Sperrtypen sein, der Standardwert ist adlockreadonly
Optionen
Sagen Sie dem Anbieter, wie der Inhalt des Quellparameters ist, z. B. Tabellen, Textzeichenfolgen usw.
Zum Beispiel zum Öffnen des Datensatzes in der Autorentabelle in den Datenbankkneipen:
Dunkelne Rsautoren
Setzen Sie rsauthors = server.createObject (adodb.Recordset)
Rsauthors.open Autoren, Strconn
'Mach hier etwas
RSAUTHORS.CLOSE
RSAUTHORS einstellen = nichts
Beachten Sie, dass es mehrere Parameter gibt, die nicht angegeben werden. Tatsächlich sind alle Parameter optional, und Sie können die entsprechenden Eigenschaftswerte für den Datensatz einstellen, bevor Sie sie öffnen:
Dunkelne Rsautoren
Setzen Sie rsauthors = server.createObject (adodb.Recordset)
Mit Rsauthors
.Source = Autoren
.ACTIVECONNECTION = strconn
.Cursortype = adopteforwardonly
.LockType = adlockReadonly
.Offen
Enden mit
'Mach hier etwas
RSAUTHORS.CLOSE
RSAUTHORS einstellen = nichts
Sobald der Datensatzsatz geöffnet ist, wird der aktuelle Zeiger automatisch im ersten Datensatz angezeigt. Wenn es im Datensatz keine Aufzeichnung gibt, sind sowohl EOF- als auch BOF -Attribute wahr:
Rsauthors.open Autoren, Strconn
Wenn rsauthors.bof und rsauthors.eof dann dann
'Recordset ist leer
Ende wenn
1. Optionen Parameter
Mit dem Optionsparameter der geöffneten Methode können Sie den Befehlstextinhalt angeben. Es kann einer der folgenden Befehlstypen -Konstanten sein:
ADCMDText: Textbefehle wie SQL -Zeichenfolgen.
ADCMDTable: Tabellenname.
ADCMDStoredProc: Name des gespeicherten Prozedurnamens.
ADCMDFILE: Der Dateiname des gespeicherten Datensatzes.
ADCMDTABLEDIRECT: Tabellenname.
ADCMDURLBIND: URL -Adresse.
Der Unterschied zwischen ADCMDTable und ADCMDTableDirect ist sehr gering. Wenn Sie alle Spalten in einer Tabelle verwenden möchten, macht die Verwendung von ADCMDTableDirect den Lauf schneller, da ADO einige interne Optimierungen durchführt.
Wenn kein Befehlstyp angegeben ist, muss ADO den ausgeführten Befehlstyp berechnen, der zu zusätzlichem Overhead führt.
Hier gibt es zwei weitere Optionen: ADCMDunspecified bedeutet, dass es keinen bestimmten Typ gibt; ADCMDUNKNOW bedeutet, dass der Typ des Befehls unbekannt ist. Sie können im Allgemeinen nicht verwendet werden.
Zusätzliche Optionen
Der Optionsparameter kann eine der oben genannten Konstanten sein, aber die folgenden ExecuteOptionenum -Konstanten können ebenfalls hinzugefügt werden:
adasyncexcute: Befehle asynchron ausführen.
Adasyncfetch: Nach dem Erhalten des ersten Zeilensatzes die verbleibenden Zeilen asynchron erhalten.
AdasyncfetchBlocking: Abgesehen davon, dass sie Datensätze erhalten und nicht verhindern, dass der Befehl ausgeführt wird, ähneln die anderen adasyncfetch.
AdexechtenoreCords: Der Befehl gibt keine Datensätze zurück.
Asynchrone Verarbeitung bedeutet, dass Vorgänge im Hintergrund durchgeführt werden. Sie können Befehle ausführen und dann andere Arbeiten fortsetzen, ohne darauf zu warten, dass sie abgeschlossen sind (synchroner Betrieb). Dies ist besonders bequem beim Erstellen einer Benutzeroberfläche, da sie aus der Befehlsausführung zurückgegeben werden kann, um den Benutzer einige Inhalte anzuzeigen, während sich die Datenerfassung noch im Hintergrund befindet. Dies ist für ASP -Programmierer bei der Rückgabe von Datensätzen nicht sehr nützlich, da die Skriptsprache keine ADO -Ereignisse unterstützt. Daher ist sie nicht bekannt, wenn der Datensatzsatz die Füllverschiebung abgeschlossen hat. Wenn Sie Datenbefehle löschen oder einfügen und keine Datensatzmenge zurückgeben, können asynchrone Vorgänge verwendet werden, d. H. Nur wenn Sie sich nicht um die Ergebnisse kümmern.
Andererseits ist die Option Adexecutenorecords sehr nützlich. Es gibt ADO an, Befehle auszuführen, die keine Daten zurückgeben. Daher müssen keine Datensatzmenge erstellt werden (möglicherweise in kurzer Weise leer). Dies beschleunigt die Ausführung von Abfragevorgängen für Updates oder Datenerweiterungen.
Um eine dieser Optionen hinzuzufügen, können Sie das oder das Symbol verwenden (gleichwertig mit dem Pluszeichen).
ADCMDStoredProc oder AdexecutenorEcords
ADCMDStoreProc Adexecutenorecords
Im nächsten Kapitel sehen Sie eine detailliertere Einführung in den zugehörigen Inhalt, da dies bei der Bearbeitung von Befehlen (anstelle von Datensätzen) nützlicher ist.
2. Bewegen Sie sich im Datensatzsatz
Sobald ein Rekordsatz geöffnet ist, ist es häufig erforderlich, jeden Datensatz zu durchqueren. Dies erfordert die Verwendung des EOF -Attributs. Wenn das Ende des Datensatzsatzes erreicht ist, wird EOF wahr, da eine Schleife so erstellt werden kann:
Rsauthors.open Autoren, Strconn
Zwar nicht rsauthors.eof
Antwort.
RSAUTHORS (AU_FNAME) & <br>
rsauthors.Movenext
Wend
Das obige Beispiel schießt, bis das EOF -Attribut vor dem Verlassen der Fall ist. Mit der MoveNext -Methode wird zum nächsten Datensatz übergeht.
Wenn der Datensatzsatz eine Rückwärtsbewegung ermöglicht, können Sie die MovePrevious -Methode verwenden. In diesem Fall muss der BOF -Attributwert in der Schleife erkannt werden. Es gibt auch MoveFirst- und Movelast -Methoden, die zu den ersten bzw. letzten Aufzeichnungen wechseln:
Rsauthors.open Autoren, Strconn, adoptendynamisch
'Jetzt auf den ersten Rekord
Rsauthors.Movelast
'Jetzt auf dem letzten Rekord
rsauthors.moveprevious
rsauthors.moveprevious
'Jetzt drei Zeilen vom Ende des Rekordsets vom Ende des Datensatzes
rsauthors.movefirst
'Zurück am Anfang wieder
3. Verwenden Sie Fields -Sammlungen
Die Feldersammlung enthält Felderobjekte für jedes Feld (Spalte) im Datensatzsatz. Die Fields -Sammlung ist die Standardsammlung von Datensätzen, sodass sie beim Zugriff auf Felder weggelassen werden kann, genau wie in der Weile ... Wend -Beispiel oben. Daher gibt es mehrere Möglichkeiten, auf Felder zuzugreifen:
rsauthors.fields (au_lname) .Value
RSAUTHORS (AU_LNAME) .Value
RSAUTHORS (1) .Value
rsauthors.Fields (1) .Value
Sie können den Feldnamen verwenden oder seine Bits in der Sammlung verwenden
Teilen: ASP implementiert das Senden von E -Mail -Benachrichtigungen beim Senden von Formularen an die Datenbank Das Folgende ist der zitierte Inhalt: <% dim dimcdomail set objcdomail = server.createObject (cdonts.newmail) objcdomail.from = xxx@h