f$ADORead
f$ADORead
Mit dieser Funktion wird mit einer bestehenden ADO Verbindung eine Liste von Datensätzen in eine indizierte Parametergruppe gelesen. Der Name der Parametergruppe muss ohne Index angegeben werden. Falls die Parametergruppe nicht indiziert ist, wird lediglich ein Datensatz gelesen. Falls die Spalten der Tabelle und die Parameter der Parametergruppe nicht übereinstimmen, werden lediglich diejenigen Parameter belegt, zu welchen es auch eine gleichnamige Spalte gibt. Nullwerte in der Datenbank bewirken, dass der Parameter auf LEER gesetzt wird. Gelesen wird solange, bis entweder kein Datensatz mehr gefunden wird oder bis der maximale Index der Parametergruppe erreicht ist.
Auf Wunsch können diese Datensätze später mit der Funktion f$ADOUpdate wieder zurückgeschrieben werden.
Syntax: | SQLNr = f$ADORead(ConnectNr,SQL,PG,NameStatus,NameAnzahl,ReadWrite,[Cursor],[Lock]) | ||
| Argument | Typ | Bedeutung |
| ConnectNr | Ganzzahl | Verbindungsidentifikator aus f$ADOConnect |
| SQL | Zeichenkette | SQL-Befehl, der die Datensätze selektiert. |
| PG | Zeichenkette | Name der zu füllenden Parametergruppe. Angabe ohne Index |
| NameStatus | Zeichenkette | Name eines Parameters, auf den der Lesestatus geschrieben wird Werte: -1 Create Instance ging schief -2 Put SQL ging schief -3 Active Connection ging schief -4 OPEN ging schief -5 Get EOF ging schief -6 Parametergruppe wurde nicht gefunden 1 Es sind mehr Datensätze vorhanden als in die Parametergruppe |
| NameAnzahl | Zeichenkette | Name eines Parameters, auf den die Anzahl gelesener Datensätze geschrieben wird |
| ReadWrite | Ganzzahl | Wert=1 bedeutet, dass die Möglichkeit eines späteren Updates der Datensätze besteht. In einem solchen Fall muss später im Regelwerk mit der Funktion f$ADOClose der Zugriff geschlossen werden. |
Optional: | Cursor | Ganzzahl | Optional kann dem Zugriff ein Datenbankcursor mitgegeben werden AdOpenUnspecified = -1 adOpenForwardOnly = 0 adOpenKeyset = 1 adOpenDynamic = 2 adOpenStatic = 3 |
Optional: | Lock | Ganzzahl | Optional können die Datensätze des Zugriffs gesperrt werden: AdLockUnspecified = -1 adLockReadOnly = 1 adLockPessimistic = 2 adLockOptimistic = 3 adLockBatchOptimistic = 4 |
Ergebnis: | Ganzzahl | Status des Lesevorgangs: Größer oder gleich 0 : Identifikator für spätere Schreibzugriffe auf diese Datensätze -1 : erfolgreich gelesen, aber kein Schreibzugriff möglich -10: ADO Verbindung existiert nicht. -12: Speicherprobleme, es kann kein Zugriff gemacht werden. | |
Beispiel: | Kanal = f$ADOConnect ('Provider=sqloledb;Data Source=Server1;Initial Catalog=Salesmanager ','sa'‚' ') SQL = 'Select * from T_Anschrift where FiBuNr=1' SQLNr = f$ADORead(Kanal, SQL ,Anschriften, 'Status','Anzahl',1) Anschriften[11].Ort = 'Stuttgart' Status2 = f$ADOUpdate(Kanal,SQLNr,1) | ||