SQLTABLES() 函 数
把数据源中的表名存储到
Visual FoxPro 临时表中
语 法
SQLTABLES( nConnectionHandle [, cTableTypes ] [, cCursorName ])
返
值 类 型
数值型
参 数 描 述
nConnectionHandle

由
SQLCONNECT ( ) 返 回 的 指 向 数 据 源 的 连 接 句 柄
cTableTypes










指
定 一 个 或 多 个 表 类 型 有 效 的 表 类 型 有 TABLE VIEW SYSTEM
TABLE 或 任 何 有 效 的 数 据 源 特 定 表 类 型 标 识 cTabletypes 必


须
大 写 如 果 要 包 含 多 个 表 类 型 列 表 请 用 逗 号 分 隔


如
果 省 略 cTableTypes 参 数 或 者 cTableTypes 是 空 字 符 串 则 选
定 数 据 源 中所 有 表 名


指
定 的 表 类 型 必 须 用 单 引 号 括 起 来 下 面 的 示 例 演 示 了 如
何 指 定 VIEW


和
SYSTEM TABLE 表 类 型
? SQLTABLES(handle, "'VIEW', 'SYSTEM TABLE'", "mydbresult")
cCursorName





指
定 V isual FoxPro 临 时 表 的 名 称 结 果 集 合 发 送 到 该 临 时 表
如 果 不 包 含 临时 表 名 V isual FoxPro 将 使 用 默 认 名 SQLRESULT
下表显示临时表中的列
列 名 说 明
TABLE_QUALIFIER 表限定符标识
TABLE_OWNER 表拥有者标识
TABLE_NAME
数据字典中的表名
TABLE_TYPE 数据字典中的表类型



REMARKS
表的说明
|
说 明 |
|||
|---|---|---|---|
|
如果成功创建临时表 SQLTABLES ( ) 返回 1 连接级的错误 返 回 -1 发生环境级的错误 |
如果仍在执行中 返回 -2 |
则返回 0 |
如果发生 |
|
SQLTABLES ( ) 是既可以同步执行又可以异步执行的四个函数之一 SQLSETPROP( ) 的 异步选项设置决定这些函数是同步执行还是异步执行 异步方式下 必须重复调用 |













SQLTABLES(
) 直到返回一个非 假 (.F.) 值 假 (.F.) 值表示函数仍在执行
示 例


下面的示例假定名为
MyFoxSQLNT 的数据源可用 并且该数据源的用户标识是







sa
发出 SQLCONNECT ( ) 并且返回值存入名为 gnConnHandle 变量
如果不能连接到数据源上 SQLCONNECT( ) 返回一个负数 并且显示一条信息

如果成功地连接到数据源上
SQLCONNECT ( ) 返回一个正数并且显示一个对话框
SQLTABLES(
) 用来创建一个名为 mycursor 的临时文件 该临时文件包含有关数据源

中表的信息
用 LIST 显示与表有关的信息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, 'TABLES', 'mycursor') TO nTables IF nTables = 1
SELECT Mycursor LIST
ENDIF ENDIF
请 参 阅
AERROR ( ), SQLCOLUMNS( ), SQLCONNECT( ), SQLGETPROP( ), SQLSETPROP( )
