Partager via


SQLTABLES( ) Function

Stores the names of tables in a data source to a Visual FoxPro cursor.

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

Parameters

  • nStatementHandle
    Specifies the statement handle to the data source returned by SQLCONNECT( ).

  • cTableTypes
    Specifies one or more table types. Valid table types are 'TABLE,' 'VIEW,' 'SYSTEM TABLE,' or any valid data source-specific table type identifier. cTabletypes must be in upper-case. If you include a list of table types, separate the table types with commas.

    All table names in the data source are selected if you omit cTableTypes or if cTableTypes is the empty string.

    The table type you specify must be delimited with single quotation marks. The following example demonstrates how to specify the 'VIEW' and 'SYSTEM TABLE' table types as a string literal.

    ? SQLTABLES(handle, "'VIEW', 'SYSTEM TABLE'", "mydbresult")
    
  • cCursorName
    Specifies the name of the Visual FoxPro cursor to which the result set is sent. If you don't include a cursor name, Visual FoxPro uses the default name SQLRESULT.

    The following table shows the columns in the cursor.

    Column name Description
    TABLE_QUALIFIER Table qualifier identifier
    TABLE_OWNER Table owner identifier
    TABLE_NAME The table name as it appears in the data dictionary
    TABLE_TYPE The table type as it appears in the data dictionary
    REMARKS A description of the table

Return Values

Numeric. SQLTABLES( ) returns 1 if the cursor is successfully created, 0 if SQLTABLES( ) is still executing, – 1 if a connection level error occurs, and – 2 if an environment level error occurs.

Remarks

SQLTABLES( ) is one of the four functions that you can execute either synchronously or asynchronously. The setting of the SQLSETPROP( ) asynchronous option determines if these functions execute synchronously or asynchronously. In asynchronous mode, you must call SQLTABLES( ) repeatedly until it returns a value other than False (.F.), meaning the function is still executing.

Example

The following example assumes an ODBC data source called MyFoxSQLNT is available. SQLCONNECT( ) is issued, and its return value is stored to a variable named gnHandle.

If you cannot connect to the data source, SQLCONNECT( ) returns a negative number and a message is displayed.

If you successfully connect to the data source, SQLCONNECT( ) returns a positive number and a dialog is displayed. SQLTABLES( ) is used to create a cursor named mycursor that contains information about tables in the data source. LIST is used to display information about the tables.

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

See Also

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