Funktionsweise von Remotedaten bei Einsatz von SQL Pass-Through
Nachdem Sie ein Resultset mittels SQL Pass-Through abgerufen haben, können Sie die Eigenschaften des Resultsetcursors mit Hilfe der Visual FoxPro-Funktionen CURSORGETPROP( ) und CURSORSETPROP( ) anzeigen und festlegen. Es handelt sich um dieselben Funktionen, die Sie zum Festlegen der Eigenschaften für einen Cursor einer aktiven Ansicht verwenden.
Anmerkung Cursor sind keine Objekte und nicht an das Objektmodell gebunden. Trotzdem können Sie die Eigenschaften (oder Attribute) eines Cursors mit CURSORGETPROP( ) abrufen bzw. mit CURSORSETPROP( ) festlegen.
Festlegen von Cursoreigenschaften für Remotedaten
In der folgenden Tabelle sind die Visual FoxPro-Cursoreigenschaften zusammengestellt, die das Arbeiten mit Ansichten und zugeordneten Resultsets unterstützen.
Visual FoxPro-Cursoreigenschaften
Aufgabe | Eigenschaft | Zweck |
---|---|---|
Anzeigen der Definition eines Cursors | SQL | Enthält die SQL-Anweisung, mit der der Cursor erstellt wurde. |
Steuern des Dialogs zwischen Visual FoxPro und ODBC | ConnectHandle | Kennung für eine Remoteverbindung, die vom Cursor verwendet wird |
ConnectName | Der vom Cursor verwendete Verbindungsname | |
Prepare | Gibt an, ob die Abfrage für die Ansicht vor der Ausführung vorbereitet wird. | |
FetchAsNeeded | Gibt an, ob Zeilen automatisch während der Leerlaufschleife oder nur bei Bedarf abgerufen werden. | |
CompareMemo | Gibt an, ob Memo- und Objektfelder unabhängig von der Einstellung der UpdateType-Eigenschaft in die WHERE-Klausel einer UPDATE-Anweisung einbezogen werden. | |
FetchMemo | Gibt an, ob Memo- und Objektfelder automatisch mit den Resultsets abgerufen werden, oder später bei Bedarf, wenn das Memo- oder Objektfeld geöffnet wird. | |
UseMemoSize | Gibt die minimale Spaltengröße (1 bis 255) in Resultsets an, bei der Spalten in Memofeldern zurückgegeben werden. | |
FetchSize | Gibt die Anzahl der Zeilen an, die gleichzeitig vom Remoteresultset abgerufen werden. | |
MaxRecords | Gibt die maximale Anzahl der Zeilen an, die abgerufen werden, wenn die Resultsets zurückgegeben werden. | |
Aktualisieren von Daten | SendUpdates* | Gibt an, ob Aktualisierungen des Cursors an die Tabellen gesendet werden, die dem Cursor zugrunde liegen. |
BatchUpdateCount | Gibt die Anzahl der UPDATE-Anweisungen an, die für gepufferte Tabellen an den Back-End-Server gesendet werden. | |
Tables* | Eine durch Komma getrennte Liste mit Tabellennamen in der Datenquelle zum Definieren des Bereichs der Eigenschaften UpdateNameList und UpdatableFieldsList | |
KeyFieldList* | Eine durch Komma getrennte Liste mit Visual FoxPro-Feldern, die den Primärschlüssel des Resultsets darstellt, die für Aktualisierungen verwendet wird. | |
UpdateNameList* | Eine durch Komma getrennte Liste, in der die Visual FoxPro-Felder des Cursors und die Tabellen- und Spaltennamen der Felder, für die Sie Aktualisierungen vornehmen möchten, paarweise angeordnet sind. | |
UpdatableFieldList* | Eine durch Komma getrennte Liste mit den Visual FoxPro-Feldern, für die Aktualisierungen vorgenommen werden. | |
Buffering | Gibt den Pufferungstyp für den Cursor an. | |
UpdateType | Gibt an, ob Aktualisierungen mit UPDATE- oder mit DELETE- und INSERT-Befehlen vorgenommen werden sollen. | |
WhereType | Gibt an, was die WHERE-Klausel für Aktualisierungen an Tabellendaten enthalten soll. |
* Eigenschaften, die festgelegt werden müssen, bevor Sie Daten aktualisieren können.
Sie können diese Eigenschaften verwenden, um zu steuern, wie Ihre Anwendung mit Remotedaten arbeitet. So können Sie z. B. festlegen, wie viele Zeilen während des kontinuierlichen Lesens abgerufen werden, mit welcher Pufferung gearbeitet werden soll und wie Remotedaten aktualisiert werden sollen.
Verwenden der Registerkarte "Remotedaten" im Dialogfeld "Optionen"
Einige Cursoreigenschaften erben ihre Anfangswerte von der Umgebung; andere Eigenschaften sind nur auf Cursorebene verfügbar. Einige Eigenschaften stehen für Cursor zur Verfügung, die Remoteansichten und Tabellen entsprechen, zu denen über ODBC oder SQL Pass-Through eine Verbindung besteht.
Sie können einige Cursor- und Verbindungseigenschaften im Dialogfeld Optionen auf der Registerkarte Remotedaten festlegen. Wenn Sie die Registerkarte Remotedaten anzeigen, entsprechen die angezeigten Werte den Cursoreinstellungen der aktuellen Arbeitssitzung sowie den globalen Visual FoxPro-Standardeinstellungen für Verbindungen. Wenn Sie Werte in der Registerkarte Remotedaten ändern und OK wählen, werden die neuen Werte in den Einstellungen der aktuellen Arbeitssitzung des Cursors sowie in den globalen Standardeinstellungen für Verbindungen gespeichert. Wenn Sie die Schaltfläche Als Standardeinstellung verwenden wählen, werden die Werte auf Ihrem Computer in die konfigurierbaren Systemeinstellungen geschrieben. Das folgende Bild verdeutlicht diese Vorgehensweise.
Globale Einstellungen und Sitzungseinstellungen mit dem Dialogfeld "Optionen" anzeigen und festlegen
Festlegen von Eigenschaften mit SQL Pass-Through
Wenn Sie einen Cursor erstellen, erbt dieser die Einstellungen von Eigenschaften, wie z. B. UpdateType oder UseMemoSize, vom Umgebungscursor oder vom Cursor 0 der aktuellen Arbeitssitzung. Sie können diese Standardeinstellungen der Eigenschaften ändern, indem Sie die CURSORSETPROP( )-Funktion mit 0 als Cursornummer aufrufen.
Nachdem Sie mit einer SQL Pass-Through-Funktion den Cursor einer Ansicht erstellt haben, können Sie die Eigenschafteneinstellungen des aktiven Cursors ändern, indem Sie für den Cursor der Ansicht die CURSORSETPROP( )-Funktion verwenden. Änderungen, die Sie mit CURSORSETPROP( ) vornehmen, sind temporär: die temporären Einstellungen der aktiven Ansicht verschwinden, sobald Sie die Ansicht geschlossen haben, und die temporären Einstellungen des Cursors 0 verschwinden, wenn Sie die Visual FoxPro-Arbeitssitzung beenden.
Verbindungen erben Eigenschaften auf ähnliche Weise. Die Standardeigenschaften für die Verbindung 0 werden beim Erstellen und Speichern einer benannten Verbindung in einer Datenbank vererbt. Sie können diese Standardeinstellungen der Verbindung 0 mit der SQLSETPROP( )-Funktion ändern. Nachdem die Verbindung erstellt und in einer Datenbank gespeichert wurde, können Sie die Verbindungseigenschaften mit der DBSETPROP( )-Funktion ändern. Wenn Sie eine Verbindung einsetzen, werden die Eigenschaftseinstellungen, die für die Verbindung in der Datenbank gespeichert sind, von der aktiven Verbindung geerbt. Sie können die Einstellungen der Eigenschaften der aktiven Verbindung mit der SQLSETPROP( )-Funktion ändern, indem Sie diese mit der Kennung der Verbindung aufrufen.
Sowohl der SQL Pass-Through-Cursor einer Ansicht als auch eine benannte Verbindung kann eine benannte ODBC-Datenquelle verwenden. Wenn Sie für den SQL Pass-Through-Cursor einer Ansicht eine ODBC-Datenquelle verwenden, erbt die Verbindung die Eigenschaften von den Standardeinstellungen der Arbeitssitzung.
Das folgende Bild verdeutlicht für Cursor und Verbindungen, die mit SQL Pass-Through-Funktionen erstellt wurden, wie die Einstellungen von Eigenschaften vererbt werden. Die grauen Linien stellen den Weg der Eigenschaftsvererbung dar; die schwarzen stellen Visual FoxPro-Befehle dar.
Vererbung von Verbindungs- und Cursoreigenschaften unter Verwendung von SQL Pass-Through (SPT)
Siehe auch
Manuelles Steuern von Transaktionen | Aktualisieren von Remotedaten mit Hilfe von SQL Pass-Through | Implementieren einer Client/Server-Anwendung | Entwurf von Client/Server-Anwendungen | Upsizing von Visual FoxPro-Datenbanken | Erstellen von Ansichten