Freigeben über


Client/Server-Beispielanwendung: Datenbank

Die Datenbank in der Client/Server-Beispielanwendung ist klein und wurde nur dazu entworfen, die Grundlagen der Client/Server-Implementierung zu demonstrieren.

Auswählen der Datenbank

Sie können die Datenbank für das Client/Server-Beispiel in Schritt 1 im Dialogfeld Datenbank öffnen auswählen. Für das Beispiel ist die Datei Cs.dbc erforderlich, die im selben Ordner installiert ist, in dem auch die anderen Dateien des Client/Server-Beispiels installiert sind. Wenn der von Ihnen verwendete Standardordner der Visual FoxPro-Ordner …\Samples\Csapp ist oder sich dieser Ordner im Verzeichnispfad befindet, wird die Datenbank automatisch ausgewählt.

Die CS-Datenbank enthält Folgendes:

Tabellen Beschreibung
Employee Eine Tabelle mit Mitarbeiter-IDs, Namen, Adressen usw.
Emp_init Eine Sicherungstabelle für die Mitarbeitertabelle. Wenn Sie die Daten in der Mitarbeitertabelle geändert haben, indem Sie die Optionen des Beispiels ausprobiert haben, können Sie die Originaldaten dieser Tabelle wiederherstellen, indem Sie in dem Formular SampleApp auf die Schaltfläche Anfangsdaten zurücksetzen klicken.
Ansichten Beschreibung
Emp_view_local Eine lokale Ansicht, die alle Felder und Datensätze der Mitarbeitertabelle enthält.
Emp_view_remote Eine Remoteansicht, die alle Felder und Datensätze der Mitarbeitertabelle enthält.
Verbindung Beschreibung
Emp_connection Eine Verbindung zu einer Datenquelle für die Ansicht emp_view_remote. Diese Verbindung muss aufgebaut sein, bevor Sie emp_view_remote öffnen können.

Öffnen der Datenbank

Schritt 2 im Dialogfeld Datenbank öffnen ermöglicht es Ihnen, die Datenbank zu öffnen oder zu schließen.

Durch Code, der dem Click-Ereignis der Schaltfläche Öffnen zugeordnet ist, wird die Datenbank geöffnet. Vor dem Öffnen der Datenbank wird die DatabaseIsOpened-Eigenschaft des Engine-Objekts in der Annahme, dass die Datenbank geöffnet wird, auf Wahr (.T.) festgelegt.

OEngine.DatabaseIsOpened = .T.
lcExclusive = IIF(this.parent.chkExclDatabase.value = 1, 'EXCLUSIVE', 'SHARED')
OPEN DATABASE (OEngine.DatabaseFile) &lcExclusive

Falls die Datenbank nicht geöffnet werden kann, wird das Error-Ereignis der Schaltfläche Öffnen ausgelöst, die DatabaseIsOpened-Eigenschaft des Engine-Objekts auf Falsch (.F.) festgelegt und eine Fehlermeldung angezeigt.

Ändern der Remoteverbindung

Schritt 3 im Dialogfeld Datenbank öffnen ermöglicht es Ihnen, den Visual FoxPro-Verbindungs-Designer zu öffnen, um eine Remoteverbindung einzurichten. Sie benötigen eine Verbindung zu einer Back-End-Datenbank, um diese Beispieltabelle zu übertragen und auf sie als Remoteansicht zuzugreifen, und Sie müssen die Verbindung ändern, um eine Benutzer-ID, ein Kennwort und eine Verbindungszeichenfolge einzurichten.

Informationen zum Einrichten von Remoteverbindungen finden Sie unter Erstellen von Ansichten.

Wählen eines Datencursors in der Client/Server-Beispielanwendung

Die erste Seite des Formulars SampleApp ermöglicht Ihnen das Öffnen der Tabelle, der Ansicht oder der Remoteansicht. Der Code, der dem Click-Ereignis von cmdOpen zugeordnet ist, verwendet, basierend auf dem Wert der Optionsschaltflächengruppe opgCursorType, den USE-Befehl zum Öffnen der lokalen Tabelle, der lokalen Ansicht oder der Remoteansicht.

Das Bezeichnungselement lblStatus zeigt Statusinformationen über die Tabelle oder Ansicht an. Code in der GetStatus-Methode im Formular SampleApp versucht, die Tabelle oder Ansicht exklusiv zu öffnen, und aktualisiert den Inhalt des Bezeichnungselements. Wenn die Tabelle oder Ansicht nicht exklusiv geöffnet werden konnte, werden sie zur gemeinsamen Verwendung freigegeben. Wenn die Tabelle oder Ansicht nicht zur gemeinsamen Verwendung freigegeben werden kann, gibt die Beschriftung von lblStatus die Meldung an, dass sie bereits exklusiv geöffnet ist.

Siehe auch

Lösungsbeispiele | Client/Server-Beispiel | Client/Server-Beispielanwendung: Klassen | Datenaktualisierung in der Client/Server-Beispielanwendung | Verwalten von Datenkonflikten in der Client/Server-Beispielanwendung | Implementieren von Geschäftsregeln in die Client/Server-Beispielanwendung