Freigeben über


SQLTABLES( )-Funktion

Speichert die Namen von Tabellen einer Datenquelle in einem Visual FoxPro-Cursor.

SQLTABLES(nConnectionHandle [, cTableTypes] [, cCursorName])

Rückgabewerte

Numerisch

Parameter

  • nConnectionHandle
    Gibt das Verbindungshandle der Datenquelle an, das von SQLCONNECT( ) zurückgegeben wird.

  • cTableTypes
    Gibt einen oder mehrere Tabellentypen an. Mögliche Tabellentypen sind: TABLE, VIEW, SYSTEM TABLE oder ein anderer zulässiger Bezeichner eines datenquellenspezifischen Tabellentyps. cTabletypes muss in Großbuchstaben angegeben werden. Wenn Sie mehrere Tabellentypen angeben, trennen Sie diese jeweils durch ein Komma.

    Wenn Sie cTableTypes weglassen oder eine leere Zeichenfolge angeben, werden alle Tabellennamen der Datenquelle ausgewählt.

    Der angegebene Tabellentyp muss in einfache Anführungszeichen gesetzt werden. Das folgende Beispiel zeigt, wie Sie die Tabellentypen VIEW und SYSTEM TABLE als Zeichenfolgenliteral angeben können.

    ? SQLTABLES(handle, "'VIEW', 'SYSTEM TABLE'", "mydbresult")
    
  • cCursorName
    Gibt den Namen des Visual FoxPro-Cursors an, an den das Resultset gesendet wird. Wenn Sie keinen Cursornamen angeben, verwendet Visual FoxPro den Standardnamen SQLRESULT.

    Die folgende Tabelle zeigt die Spalten des Cursors.

    Spaltenname Beschreibung
    TABLE_QUALIFIER Kennung Tabellenkennzeichnung
    TABLE_OWNER Kennung Tabelleneigentümer
    TABLE_NAME Der Tabellenname, wie er im Data Dictionary angezeigt wird.
    TABLE_TYPE Der Tabellentyp, wie er im Data Dictionary angezeigt wird.
    REMARKS Eine Beschreibung der Tabelle

Hinweise

SQLTABLES( ) gibt den Wert 1 zurück, wenn der Cursor erfolgreich erstellt wurde, 0, wenn SQLTABLES( ) noch aktiv ist, -1 bei einem Fehler auf der Verbindungsebene und -2 bei einem Fehler auf der Umgebungsebene.

SQLTABLES( ) gehört zu den vier Funktionen, die Sie entweder synchron oder asynchron ausführen können. Die Einstellung der SQLSETPROP( )-Option Asynchronous legt fest, ob diese Funktionen synchron oder asynchron ausgeführt werden. Im Asynchronmodus müssen Sie SQLTABLES( ) wiederholt aufrufen, bis ein anderer Wert als Falsch (.F.) (die Funktion wird noch ausgeführt) zurückgegeben wird.

Beispiel

Das folgende Beispiel setzt die Existenz einer ODBC-Datenquelle namens MyFoxSQLNT voraus, die mit dem Benutzernamen "sa" angesprochen werden kann. SQLCONNECT( ) wird eingegeben, und der entsprechende Rückgabewert in der Speichervariablen gnConnHandle gespeichert.

Wenn keine Verbindung zur Datenquelle hergestellt werden kann, gibt SQLCONNECT( ) eine negative Zahl zurück, und eine Fehlermeldung wird angezeigt.

Wenn die Verbindung zur Datenquelle erfolgreich hergestellt werden kann, gibt SQLCONNECT( ) eine positive Zahl zurück, und ein Dialogfeld wird angezeigt. Mit SQLTABLES( ) wird der Cursor mycursor erstellt. Dieser Cursor enthält Informationen über Tabellen in der Datenquelle. Mit LIST werden die Informationen über die Tabellen angezeigt.

STORE SQLCONNECT('MyFoxSQLNT', 'sa') TO gnConnHandle
IF gnConnHandle < 0
   = MESSAGEBOX('Cannot make connection', 16, 'SQL Connect Error')
ELSE
   = MESSAGEBOX('Connection made', 48, 'SQL Connect Message')
   STORE SQLTABLES(gnConnHandle, 'TABLE', 'mycursor') TO nTables
   IF nTables = 1
      SELECT mycursor
      LIST
   ENDIF
ENDIF

Siehe auch

AERROR( ) | SQLCOLUMNS( ) | SQLCONNECT( ) | SQLGETPROP( ) | SQLSETPROP( )