USE-Befehl

Öffnet eine Tabelle sowie zugehörige Indexdateien oder eine SQL-Ansicht.

USE [[DatabaseName!]Table | SQLViewName | ?]
   [IN nWorkArea | cTableAlias]   [ONLINE]   [ADMIN]   [AGAIN]
   [NOREQUERY [nDataSessionNumber]]   [NODATA]   [INDEX IndexFileList | ?
   [ORDER [nIndexNumber | IDXFileName   | [TAG] TagName [OF CDXFileName]
      [ASCENDING | DESCENDING]]]]   [ALIAS cTableAlias]   [EXCLUSIVE]
   [SHARED]   [NOUPDATE]   [CONNSTRING cConnectString]

Parameter

  • [DatabaseName.]Tablename
    Gibt den Namen der zu öffnenden Tabelle an. Da Leerzeichen in Dateinamen unter Microsoft Windows 98 und höher von Bedeutung sind, sollten Sie die Verwendung nicht zugehöriger Leerzeichen in Tablename vermeiden. Wenn ein Tabellenname Leerzeichen enthält, sollten Sie ihn in Anführungszeichen setzen (" " oder ' ').

    Um eine Tabelle zu öffnen, die nicht in der aktuellen Datenbank enthalten ist, müssen Sie vor dem Tabellennamen den Datenbanknamen angeben, wobei Sie als Trennzeichen ein Ausrufezeichen (!) verwenden sollten. Wenn Sie vor dem Tabellennamen keinen Datenbanknamen angeben, kann Microsoft Visual FoxPro nur Tabellen öffnen, die in der aktuellen Datenbank enthalten sind. Wenn der Name der Datenbank oder der Tabellenname bzw. beide Namen Leerschritte enthalten, sollten Sie sie in Anführungszeichen setzen (" " oder ' ').

    Anmerkung   Visual FoxPro kann einen Pfadnamen nicht erkennen, wenn ein Laufwerks- oder Verzeichnisname ein Ausrufezeichen (!) enthält.

  • SQLViewName
    Gibt den Namen einer zu öffnenden SQL-Ansicht in der aktuellen Datenbank an. Eine SQL-Ansicht wird mit CREATE SQL VIEW erstellt. Als SQLViewName kann auch der Name einer mit CREATEOFFLINE( ) erstellten Offlineansicht angegeben werden.

  • ?
    Zeigt das Dialogfeld Öffnen an, aus dem Sie eine zu öffnende Tabelle auswählen können.

  • IN nWorkArea
    Gibt den Arbeitsbereich an, in dem die Tabelle geöffnet wird. Sie können eine Tabelle in einem bestimmten Arbeitsbereich schließen, indem Sie USE mit der IN-Klausel und der Nummer des Arbeitsbereichs angeben.

    Die IN-Klausel unterstützt 0 als Arbeitsbereich. Wenn Sie 0 angeben, wird eine Tabelle im untersten verfügbaren Arbeitsbereich geöffnet. Wenn z. B. Tabellen in den Arbeitsbereichen 1 bis 10 geöffnet sind, öffnet der folgende Befehl die Tabelle customer in Arbeitsbereich 11:

    USE customer IN 0
    
  • IN cTableAlias
    Gibt an, dass die Tabelle im Arbeitsbereich einer anderen Tabelle geöffnet wird, die bereits geöffnet ist. Der Alias der geöffneten Tabelle wird mit cTableAlias angegeben.

    Ohne Angabe von nWorkArea und cTableAlias wird die Tabelle im aktuell gewählten Arbeitsbereich geöffnet.

  • ONLINE
    Öffnet eine mit CREATEOFFLINE( ) erstellte Offlineansicht. Der Name der Offlineansicht wird mit SQLViewName angegeben. Mit dem TABLEUPDATE( )-Befehl können Sie die Daten auf dem Server aktualisieren.

    Die Offlineansicht muss exklusiv geöffnet sein. Wenn Sie die Offlineansicht mit USE öffnen, müssen Sie daher entweder die EXCLUSIVE-Klausel verwenden oder vorher SET EXCLUSIVE auf ON setzen.

  • ADMIN
    Öffnet eine mit CREATEOFFLINE( ) erstellte Offlineansicht, verhindert aber, dass die an der Offlineansicht vorgenommenen Änderungen auf dem Server aktualisiert werden. Wenn Sie die Offlineansicht mit dem ADMIN-Schlüsselwort öffnen, können Sie Änderungen an der Offlineansicht vornehmen, ohne dass die Daten auf dem Server aktualisiert werden.

  • AGAIN
    Wenn Sie eine Tabelle in mehreren Arbeitsbereichen gleichzeitig öffnen möchten, haben Sie folgende Möglichkeiten:

    • Wählen Sie einen anderen Arbeitsbereich, und geben Sie USE mit dem Namen der Tabelle und der AGAIN-Klausel ein.
    • Geben Sie USE mit dem Namen der Tabelle und der AGAIN-Klausel ein, und geben Sie dann einen anderen Arbeitsbereich mit der IN-Klausel an.

    Wenn Sie eine Tabelle erneut in einem anderen Arbeitsbereich öffnen, erhält die Tabelle in dem neuen Arbeitsbereich die Attribute der Tabelle im ursprünglichen Arbeitsbereich. Wenn z. B. eine Tabelle im schreibgeschützten oder exklusiven Modus geöffnet wurde und in einem anderen Arbeitsbereich erneut geöffnet wird, wird die Tabelle in dem neuen Arbeitsbereich ebenfalls im schreibgeschützten oder exklusiven Modus geöffnet.

    Indexdateien, die für die ursprüngliche Tabelle geöffnet wurden, stehen für die erneut geöffnete Tabelle zur Verfügung, wenn Sie beim erneuten Öffnen der Tabelle keine Indizes öffnen. Die Indexreihenfolge wird in den Arbeitsbereichen, in denen die Tabelle erneut geöffnet wird, auf 0 gesetzt.

    Sie können Indizes öffnen, die nicht mit der ursprünglichen Tabelle geöffnet wurden. Auf diese Weise wird die Indexreihenfolge für die ursprüngliche Tabelle auf 0 gesetzt.

    Eine erneut geöffnete Tabelle erhält den Standardalias des Arbeitsbereichs. Sie können jedes Mal einen Alias verwenden, wenn Sie eine Tabelle in mehreren Arbeitsbereichen öffnen, solange die Alias eindeutig sind.

    In Visual FoxPro für Windows wird für das erneute Öffnen einer Tabelle in einem anderen Arbeitsbereich kein zusätzliches Dateihandle benötigt.

  • NOREQUERY [nDataSessionNumber]
    Gibt an, dass Daten einer Remote-SQL-Ansicht nicht erneut geladen werden. NOREQUERY steht nur für SQL-Ansichten zur Verfügung und wird in der Regel verwendet, wenn Sie eine SQL-Ansicht mit der AGAIN-Klausel erneut öffnen. Wenn Sie die NOREQUERY-Klausel angeben, erhöht sich die Arbeitsgeschwindigkeit bei großen Datenmengen, da die Daten dann nicht erneut geladen werden müssen.

    Mit nDataSessionNumber können Sie angeben, dass die Daten für eine Remote-SQL-Ansicht in einer bestimmten Datensitzung nicht erneut geladen werden. Wenn Sie nDataSessionNumber nicht angeben, werden die Daten für die in der aktuellen Datensitzung geöffneten Ansicht nicht geladen.

    Weitere Informationen zur NOREQUERY-Klausel finden Sie unter Erstellen von Ansichten.

  • NODATA
    Gibt an, dass nur die Struktur einer SQL-Ansicht geladen wird. Die Daten der SQL-Ansicht werden nicht mitgeladen. NODATA stellt die schnellste Methode dar, die Struktur einer SQL-Ansicht festzustellen.

    Weitere Informationen zur NODATA-Klausel finden Sie unter Erstellen von Ansichten.

  • INDEX IndexFileList
    Gibt eine Reihe von Indizes an, die mit der Tabelle zu öffnen sind. Wenn eine Tabelle eine strukturierte Mehrfachindexdatei hat, wird diese Indexdatei automatisch mit der Tabelle geöffnet.

    IndexFileList kann eine beliebige Kombination von Namen von Einfachindexdateien (IDX-Dateien) und Mehrfachindexdateien (CDX-Dateien) enthalten. Sie müssen die Dateinamenerweiterungen für Indexdateien nur dann angeben, wenn eine IDX-Indexdatei und eine CDX-Indexdatei in der Indexdateiliste den gleichen Namen haben.

    Die erste in der Indexdateiliste aufgeführte Indexdatei ist die Hauptindexdatei, die steuert, wie auf Datensätze in der Tabelle zugegriffen wird und wie diese angezeigt werden. Wenn jedoch die erste Indexdatei eine Mehrfachindexdatei (CDX) ist, erfolgt der Zugriff auf die Datensätze der Tabelle in der physikalischen Reihenfolge der Datensätze.

  • INDEX ?
    Zeigt das Dialogfeld Öffnen mit einer Liste der verfügbaren Indexdateien an.

  • ORDER [nIndexNumber]
    Gibt den Namen einer als Hauptindex verwendeten Einfach- oder Mehrfachindexdatei an, wenn dieser von der ersten in der IndexFileList genannten Indexdatei bzw. vom ersten genannten Indexnamen abweicht.

    IDX-Indexdateien werden zuerst nummeriert, und zwar in der Reihenfolge, in der sie in der Indexdateiliste angezeigt werden. Die Indizes, die gegebenenfalls in der strukturierten Mehrfachindexdatei stehen, werden dann in der Reihenfolge nummeriert, in der sie erstellt wurden. Im Anschluss werden die Indizes, die in unabhängigen Mehrfachindexdateien stehen, in der Reihenfolge nummeriert, in der sie erstellt wurden. Sie können die Hauptindexdatei bzw. den Hauptindexnamen auch mit Hilfe von SET ORDER angeben. Nähere Einzelheiten zum Nummerieren von Indexdateien und -namen finden Sie unter SET ORDER.

    Wenn nIndexNumber gleich 0 ist, erfolgt der Zugriff auf die Datensätze in der Tabelle in der physikalischen Reihenfolge der Datensätze, in der die Datensätze auch angezeigt werden. Die Indizes bleiben geöffnet. Wenn ORDER 0 angegeben wird, können geöffnete Indexdateien aktualisiert werden, wobei die Datei in der Reihenfolge der Datensatznummern angezeigt wird. Die Verwendung von ORDER ohne nIndexNumber hat die gleiche Wirkung wie ORDER 0.

  • ORDER [IDXFileName]
    Gibt eine Einfachindexdatei (IDX) als Hauptindexdatei an.

  • ORDER [TAG TagName] [OF CDXFileName]
    Gibt einen Hauptindex an, der in einer Mehrfachindexdatei (CDX) steht. Der Indexname kann aus der strukturierten Mehrfachindexdatei oder jeder anderen geöffneten Mehrfachindexdatei stammen. Wenn identische Indexnamen in geöffneten Mehrfachindexdateien vorhanden sind, verwenden Sie OF CDXFileName, und geben Sie den Namen der Mehrfachindexdatei an, die den gewünschten Indexnamen enthält.

  • ASCENDING
    Legt fest, dass der Zugriff und die Anzeige der Tabellendatensätze in aufsteigender Reihenfolge erfolgt.

  • DESCENDING
    Legt fest, dass der Zugriff und die Anzeige der Tabellendatensätze in absteigender Reihenfolge erfolgt.

    Durch Angabe von ASCENDING oder DESCENDING werden die Indexdatei oder der Indexname selbst nicht geändert, sondern nur die Reihenfolge, in der auf die Datensätze zugegriffen wird, bzw. die Reihenfolge, in der die Datensätze angezeigt werden.

  • ALIAS cTableAlias
    Erstellt einen Alias für die Tabelle. Sie können sich durch Befehle und Funktionen, die Alias erfordern oder unterstützen, unter Angabe eines Alias auf eine Tabelle beziehen.

    Wenn eine Tabelle geöffnet wird, erhält sie automatisch einen Alias, bei dem es sich um den Namen der Tabelle handelt, sofern nicht ALIAS angegeben wird. Sie können der Tabelle einen anderen Alias geben, indem Sie ALIAS mit einem neuen Alias angeben. In Visual FoxPro kann ein Alias bis zu 254 Buchstaben, Ziffern oder Unterstriche enthalten und muss mit einem Buchstaben oder einem Unterstrich beginnen. In anderen Versionen von FoxPro kann ein Alias bis zu 10 Buchstaben, Ziffern oder Unterstriche enthalten und muss mit einem Buchstaben oder einem Unterstrich beginnen.

    Wenn Sie eine Tabelle mit Hilfe von USE in mehreren Arbeitsbereichen gleichzeitig öffnen und beim Öffnen der Tabelle in einem Arbeitsbereich keinen Alias angegeben, wird der Tabelle automatisch ein Standardalias zugewiesen.

    Ein standardmäßiger Alias wird auch im Fall eines Konflikts zugewiesen. Beispiel:

    CLOSE DATABASES
    OPEN DATABASE (HOME(2) + 'Data\testdata')
    ACTIVATE WINDOW View  && Open the Data Session Window
    USE customer ALIAS orders IN 1     && Alias is ORDERS
    USE orders IN 3     && Conflict; alias is C
    
  • EXCLUSIVE
    Öffnet eine Tabelle für die exklusive Verwendung in einem Netzwerk. Weitere Informationen über die exklusive Verwendung von Tabellen finden Sie unter SET EXCLUSIVE in der Hilfe.

  • SHARED
    Öffnet eine Tabelle für die gemeinsame Nutzung in einem Netzwerk. Mit SHARED können Sie eine Tabelle auch dann für die gemeinsame Nutzung öffnen, wenn EXCLUSIVE auf ON gesetzt ist.

  • NOUPDATE
    Verhindert Änderungen an der Tabelle und ihrer Struktur.

  • CONNSTRING cConnectString
    Gibt eine Verbindungszeichenfolge für die ODBC-Datenquelle an. Die Verbindungszeichenfolge kann statt der expliziten Angabe der ODBC-Datenquelle, des Benutzernamens oder des Kennworts verwendet werden.

    Visual FoxPro übergibt die Verbindungszeichenfolge der in SQLViewName angegebenen Remoteansicht, die wiederum die Verbindungszeichenfolge anstelle vorher definierter Verbindungszeichenfolgen verwendet, um eine Verbindung zur angegebenen Datenquelle herzustellen. Wird eine leere Zeichenfolge ("") übergeben, wird das SQL-Dialogfeld Datenquelle auswählen angezeigt, in dem der Benutzer eine Datenquelle auswählen kann. Werden in der Verbindungszeichenfolge keine vollständigen Daten angegeben, zeigt die Datenquelle ein Anmeldedialogfenster für gegebenenfalls erforderliche Anmeldedaten an. Wenn Sie das optionale Argument CONNSTRING cConnectionString nicht angeben, verwendet die Remoteansicht die aktuell definierte Standardverbindung. Weitere Informationen über Verbindungszeichenfolgen für Datenquellen finden Sie in Ihrer ODBC-Treiber-Dokumentation.

Hinweise

Wenn USE ohne Tabellennamen angegeben wird und eine Tabellendatei im aktuell ausgewählten Arbeitsbereich geöffnet ist, wird die Tabelle geschlossen. Eine Tabelle wird auch dann geschlossen, wenn eine andere Tabelle in demselben Arbeitsbereich geöffnet wird. Es ist nicht möglich, mehrere Tabellen gleichzeitig in einem Arbeitsbereich geöffnet zu haben.

Beispiel

Im folgenden Beispiel werden drei Tabellen in drei verschiedenen Arbeitsbereichen geöffnet. Das Datensitzungsfenster wird geöffnet, um anzuzeigen, wo die Tabellen geöffnet wurden, und um die Alias der jeweiligen Tabellen anzuzeigen.

CLOSE DATABASES
OPEN DATABASE (HOME(2) + 'Data\testdata')
ACTIVATE WINDOW View

USE customer IN 0  && Opens Customer table
USE employee IN 0  && Opens Employee table
USE products IN 0  && Opens Products table

Siehe auch

CREATE | CREATE SQL VIEW | CREATE TABLE - SQL | CREATEOFFLINE( ) | DBF( ) | INDEX | USED( ) | Erstellen von Ansichten | SET EXCLUSIVE