SQLCOLUMNS() 函 数

SQLCOLUMNS() 函 数 - 图1把指定数据源表的列名和关于每列的信息存储到一个 Visual FoxPro 临时表中

语 法

SQLCOLUMNS (nConnectionHandle,TableName

[, " FOXPRO" | "NATIVE"] [, CursorNam e])

SQLCOLUMNS() 函 数 - 图2返 值 类 型数值型 参 数 描 述

nConnectionHandle

SQLCOLUMNS() 函 数 - 图3活 动 的 连 接 句 柄

TableName

SQLCOLUMNS() 函 数 - 图4SQLCOLUMNS() 函 数 - 图5SQLCOLUMNS() 函 数 - 图6SQLCOLUMNS() 函 数 - 图7SQLCOLUMNS() 函 数 - 图8SQLCOLUMNS() 函 数 - 图9SQLCOLUMNS() 函 数 - 图10指 定 的 远 程 表 名 称 从 该 远 程 表 中 返 回 列 名 TableName 可 包 含 通 配 符和 * 可 代 替 任 意 单 个 字 符 * 可 代 替 任 意 个 字 符

FOXPRO | NATIVE

SQLCOLUMNS() 函 数 - 图11指 定 在 结 果 集 合 中 列 内 容 的 格 式 一 定 要 用 引 号 括 起 FOXPRO 或

SQLCOLUMNS() 函 数 - 图12SQLCOLUMNS() 函 数 - 图13SQLCOLUMNS() 函 数 - 图14SQLCOLUMNS() 函 数 - 图15NATIVE NATIVE 格 式 选 项 使 用 数 据 源 格 式 存 储 表 的 列 内 容 FOXPRO 格式 选 项 使 用 V isual FoxPro 的 表 或 临 时 表 格 式 存 储 列 内 容 这 些 表 或 临 时 表 在将 数 据 源 表 导 入 V isual FoxPro 时 创 建 如 果 省 略 FOXPRO 或 NATIVE 参

SQLCOLUMNS() 函 数 - 图16SQLCOLUMNS() 函 数 - 图17数 格 式 选 项 的 缺 省 值 是 FOXPRO

SQLCOLUMNS() 函 数 - 图18下表显示了结果集合中的 FOXPRO 的列格式

列 名 说 明

Field_name 列名

Field_type 列数据类型

Field_len 列长度

Field_dec 小数位数

SQLCOLUMNS() 函 数 - 图19SQLCOLUMNS() 函 数 - 图20SQLCOLUMNS() 函 数 - 图21SQLCOLUMNS() 函 数 - 图22下表显示结果集合中具有 NATIVE 格式的列 在 NATIVE 格式中 依据数据源的不同 下表中没有列出的一些附加列可能会包含在结果集合中

列 名 说 明

Table_qualifier 表限定符标识

Table_owner 表拥有者标识

Table_name 表标识

Column_name 列标识Data_type 列数据类型Type_name

Precision 列的精度

Length 数据的传送大小

Scale 列的宽度

Radix 数值类型的基准

Nullable 是否支持 null 值

说明 列的说明

SQLCOLUMNS() 函 数 - 图23SQLCOLUMNS() 函 数 - 图24SQLCOLUMNS() 函 数 - 图25SQLCOLUMNS() 函 数 - 图26SQLCOLUMNS() 函 数 - 图27SQLCOLUMNS() 函 数 - 图28SQLCOLUMNS() 函 数 - 图29如果 TableName 指定的表不存在 同时格式设置成 NATIVE SQLCOLUMNS ( ) 返回真(.T.) 并创建一个空的表或临时表 如果 TableName 指定的表不存在 并且格式设置成FOXPRO SQLCOLUMNS ( ) 返回假 (.F.)

CursorName

SQLCOLUMNS() 函 数 - 图30SQLCOLUMNS() 函 数 - 图31SQLCOLUMNS() 函 数 - 图32为 结 果 集 合 指 定 V isual FoxPro 临 时 表 的 名 称 如 果 不 指 定 临 时 表 名 V isual FoxPro 使 用 默 认 名 SQLRESULT

说 明

SQLCOLUMNS() 函 数 - 图33SQLCOLUMNS() 函 数 - 图34SQLCOLUMNS() 函 数 - 图35SQLCOLUMNS() 函 数 - 图36SQLCOLUMNS() 函 数 - 图37SQLCOLUMNS() 函 数 - 图38SQLCOLUMNS() 函 数 - 图39SQLCOLUMNS() 函 数 - 图40SQLCOLUMNS() 函 数 - 图41SQLCOLUMNS() 函 数 - 图42SQLCOLUMNS() 函 数 - 图43SQLCOLUMNS() 函 数 - 图44SQLCOLUMNS() 函 数 - 图45SQLCOLUMNS() 函 数 - 图46SQLCOLUMNS() 函 数 - 图47如果成功创建了临时表 SQLCOLUMN S( ) 返回 1 如果 SQLCOLUMNS( ) 仍在执行 返回 0 如果发生连接级错误 返回 -1 如果发生环境级错误 返 回 -2 SQLCOLUMN S( ) 是四个既可同步执行也可异步执行的函数之一 SQLSETPROP( ) 的异步设置决定这些函数是同步执行还是异步执行 异步方式下 必须重复调用SQLCOLUMNS( ) 直到返回一个非 假 (.F.) ( 仍在执行中 ) 值为止

示 例

SQLCOLUMNS() 函 数 - 图48SQLCOLUMNS() 函 数 - 图49SQLCOLUMNS() 函 数 - 图50SQLCOLUMNS() 函 数 - 图51下面的示例假定已经成功地发出 SQLCONNEC T( ) 并且其返回值存入名为gnConnHandle 的变量中 SQLCOLUMNS( ) 用来创建一个名为 M yCursor 的临时表该临时表包含 authors 表中列出的内容

= SQLCOLUMNS(gnConnHandle, 'authors', 'FOXPRO', 'MyCursor')

请 参 阅

AERROR ( ) , SQLGETPROP( ) , SQLSETPROP( ) , SQLTABLES( )