OdbcRecordOpen

value OdbcRecordOpen ( value dxDatabase, value BYREF dxRecord, string strSQL, value OpenType = ODBC_OpenSnapshot );

Rückgabewert

Null wenn das Datensatzobjekt dxRecord erfolgreich erstellt wurde, -1 wenn das Datenbankobjekt ungültig ist.

Parameter

dxDatabase

Das Datenbankobjekt, das die Datensätze zur Verfügung stellen soll.

dxRecord

Konnte das Datensatzobjekt  erfolgreich angelegt werden, so wird dxRecord mit einem Verweis auf dieses Datensatzobjekt geladen. Nachfolgenden OdbcRecord-Funktionsaufrufen muss dieses Datensatzobjekt übergeben werden.

strSQL

Eine SQL-Anweisung, die angibt, welche Datensätze des Datensatzobjekts gebunden werden sollen.

Der String kann enthalten: Den Namen einer Tabelle oder eine SELECT-Anweisung (optional mit einer WHERE und/oder ORDER BY-Anweisung).

OpenType

Der Arbeitsmechanismus des Datensatzes, der geöffnet werden soll.

Eine der folgenden Werte ist möglich:

ODBC_OpenDynaset

Ein dynamischer Datensatz, in dem der Datensatzzeiger vorwärts und rückwärts bewegt werden kann.

Beim Bewegen des Datensatzzeigers wird der aktuelle Datensatz immer neu aus der Datenbank erzeugt, sodass Änderungen durch andere Benutzer dann sichtbar sind.

Diese Methode wird nicht von allen ODBC-Datenbank unterstützt.

ODBC_OpenSnapshot
(Standardwert)

Ein statischer Datensatz, in dem der Datensatzzeiger vorwärts und rückwärts bewegt werden kann.

Alle der SQL-Anweisung zugehörigen Datensätze werden in vollem Umfang ausgelesen. Daher sind Änderungen an Datensätzen, die von anderen Benutzern ausgeführt werden, erst dann sichtbar, wenn die Datensätze erneut ausgelesen werden. D.h. ein Bewegen des Datensatzzeigers reicht nicht aus um eventuell geänderte Daten sichtbar zu machen. Es ist dann notwendig, ein OdbcRecordClose und ein anschließendes ObdcRecordOpen oder ein OdbcRecordRequery auszuführen.

ODBC_OpenForwardOnly

Ein schreibgeschützter Datensatz, in dem der Datensatzzeiger nur vorwärts bewegt werden kann.

Bemerkung

Leitet die Öffnensequenz für ein Datensatzobjekt ein. Der Öffnenvorgang ist dann erfolgreich abgeschlossen, wenn Variablen mit Feldern erfolgreich gebunden sind (OdbcRecordBindField) und das Binden erfolgreich abgeschlossen wurde (OdbcRecordBindCompleted). Deshalb ist es zum empfehlen, die einfacher zu handhabende Funktion OdbcRecordOpenEx anstelle von OdbcRecordOpen zu verwenden.

Der erzeugte Verweis auf das Datensatzobjekt dxRecord muss, wenn er nicht mehr verwendet wird, mit OdbcRecordClose geschlossen werden. Beim Stoppen/Beenden der Visualisierung werden alle gültigen und nicht geschlossen Datensatzobjekte automatisch geschlossen.

Verweist dxRecord beim Aufruf auf ein gültiges Datensatzobjekt (das also vorher mit OdbcRecordOpenEx bzw. OdbcRecordOpen erzeugt und nicht mit OdbcRecordClose geschlossen wurde) so wird dieses alte Datensatzobjekt automatisch geschlossen, bevor das neue Datensatzobjekt erzeugt wird.

Beispiel

value dxDatabase; //ein gültiges Datenbankobjekt

value Result;

value dxRecord;

 

 

//Ein Datensatzobjekt das alle Felder der Tabelle enthält und mit dem ersten Feld sortiert ist

Result = OdbcRecordOpen (dxDatabase, dxRecord, "SELECT * FROM Meldungen ORDER BY 1;"

 

//Ein Datensatzobjekt das ein Ergebnisfeld enthält, das die aktuelle Anzahl der Datensätze der Tabelle enthält

Result = OdbcRecordOpen (dxDatabase, dxRecord, "SELECT COUNT(*) FROM Meldungen;"

 

//Ein Datensatzobjekt das ein Ergebnisfeld enthält, das die aktuelle Summe aller Datensätze des Feldes Wassermenge enthält

Result = OdbcRecordOpen (dxDatabase, dxRecord, "SELECT SUM(Wassermenge) FROM Becken;"

 

Die ODBC Datenbankfunktionen

Siehe auch OdbcRecordAddNew, OdbcRecordBindCompleted, OdbcRecordBindField, OdbcRecordCanAppend, OdbcRecordCanBookmark, OdbcRecordCanRestart, OdbcRecordCanScroll, OdbcRecordCanTransact, OdbcRecordCancelUpdate, OdbcRecordClose, OdbcRecordDelete, OdbcRecordEdit, OdbcRecordGetRecordCount, OdbcRecordIsBOF, OdbcRecordIsDeleted, OdbcRecordIsEOF, OdbcRecordIsOpen, OdbcRecordMove, OdbcRecordMoveFirst, OdbcRecordMoveLast, OdbcRecordMoveNext, OdbcRecordMovePrev, OdbcRecordRequery, OdbcRecordSetAbsolutePosition, OdbcRecordUpdate