SQLTABLES() 函 数

SQLTABLES() 函 数 - 图1把数据源中的表名存储到 Visual FoxPro 临时表中

语 法

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

SQLTABLES() 函 数 - 图2返 值 类 型

数值型

参 数 描 述

nConnectionHandle

SQLTABLES() 函 数 - 图3SQLTABLES() 函 数 - 图4由 SQLCONNECT ( ) 返 回 的 指 向 数 据 源 的 连 接 句 柄

cTableTypes

SQLTABLES() 函 数 - 图5SQLTABLES() 函 数 - 图6SQLTABLES() 函 数 - 图7SQLTABLES() 函 数 - 图8SQLTABLES() 函 数 - 图9SQLTABLES() 函 数 - 图10SQLTABLES() 函 数 - 图11SQLTABLES() 函 数 - 图12SQLTABLES() 函 数 - 图13SQLTABLES() 函 数 - 图14SQLTABLES() 函 数 - 图15指 定 一 个 或 多 个 表 类 型 有 效 的 表 类 型 有 TABLE VIEW SYSTEM TABLE 或 任 何 有 效 的 数 据 源 特 定 表 类 型 标 识 cTabletypes

SQLTABLES() 函 数 - 图16SQLTABLES() 函 数 - 图17SQLTABLES() 函 数 - 图18须 大 写 如 果 要 包 含 多 个 表 类 型 列 表 请 用 逗 号 分 隔

SQLTABLES() 函 数 - 图19SQLTABLES() 函 数 - 图20SQLTABLES() 函 数 - 图21如 果 省 略 cTableTypes 参 数 或 者 cTableTypes 是 空 字 符 串 则 选 定 数 据 源 中所 有 表 名

SQLTABLES() 函 数 - 图22SQLTABLES() 函 数 - 图23SQLTABLES() 函 数 - 图24指 定 的 表 类 型 必 须 用 单 引 号 括 起 来 下 面 的 示 例 演 示 了 如 何 指 定 VIEW

SQLTABLES() 函 数 - 图25SQLTABLES() 函 数 - 图26SQLTABLES() 函 数 - 图27和 SYSTEM TABLE 表 类 型

? SQLTABLES(handle, "'VIEW', 'SYSTEM TABLE'", "mydbresult")

cCursorName

SQLTABLES() 函 数 - 图28SQLTABLES() 函 数 - 图29SQLTABLES() 函 数 - 图30SQLTABLES() 函 数 - 图31SQLTABLES() 函 数 - 图32SQLTABLES() 函 数 - 图33指 定 V isual FoxPro 临 时 表 的 名 称 结 果 集 合 发 送 到 该 临 时 表 如 果 不 包 含 临时 表 名 V isual FoxPro 将 使 用 默 认 名 SQLRESULT

SQLTABLES() 函 数 - 图34下表显示临时表中的列

列 名 说 明

TABLE_QUALIFIER 表限定符标识

TABLE_OWNER 表拥有者标识

SQLTABLES() 函 数 - 图35TABLE_NAME 数据字典中的表名

TABLE_TYPE 数据字典中的表类型

SQLTABLES() 函 数 - 图36SQLTABLES() 函 数 - 图37SQLTABLES() 函 数 - 图38SQLTABLES() 函 数 - 图39REMARKS 表的说明

说 明

如果成功创建临时表 SQLTABLES ( ) 返回 1

连接级的错误 返 回 -1 发生环境级的错误

如果仍在执行中

返回 -2

则返回 0

如果发生

SQLTABLES ( ) 是既可以同步执行又可以异步执行的四个函数之一 SQLSETPROP( ) 的

异步选项设置决定这些函数是同步执行还是异步执行 异步方式下 必须重复调用

SQLTABLES() 函 数 - 图40SQLTABLES() 函 数 - 图41SQLTABLES() 函 数 - 图42SQLTABLES() 函 数 - 图43SQLTABLES() 函 数 - 图44SQLTABLES() 函 数 - 图45SQLTABLES() 函 数 - 图46SQLTABLES() 函 数 - 图47SQLTABLES() 函 数 - 图48SQLTABLES() 函 数 - 图49SQLTABLES() 函 数 - 图50SQLTABLES() 函 数 - 图51SQLTABLES() 函 数 - 图52SQLTABLES() 函 数 - 图53SQLTABLES( ) 直到返回一个非 假 (.F.) 值 假 (.F.) 值表示函数仍在执行

示 例

SQLTABLES() 函 数 - 图54SQLTABLES() 函 数 - 图55SQLTABLES() 函 数 - 图56下面的示例假定名为 MyFoxSQLNT 的数据源可用 并且该数据源的用户标识是

SQLTABLES() 函 数 - 图57SQLTABLES() 函 数 - 图58SQLTABLES() 函 数 - 图59SQLTABLES() 函 数 - 图60SQLTABLES() 函 数 - 图61SQLTABLES() 函 数 - 图62SQLTABLES() 函 数 - 图63SQLTABLES() 函 数 - 图64sa 发出 SQLCONNECT ( ) 并且返回值存入名为 gnConnHandle 变量 如果不能连接到数据源上 SQLCONNECT( ) 返回一个负数 并且显示一条信息

SQLTABLES() 函 数 - 图65SQLTABLES() 函 数 - 图66如果成功地连接到数据源上 SQLCONNECT ( ) 返回一个正数并且显示一个对话框

SQLTABLES() 函 数 - 图67SQLTABLES( ) 用来创建一个名为 mycursor 的临时文件 该临时文件包含有关数据源

SQLTABLES() 函 数 - 图68SQLTABLES() 函 数 - 图69中表的信息 用 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( )