把指定数据源表的列名和关于每列的信息存储到一个 Visual FoxPro 临时表中。
语法
SQLCOLUMNS(nConnectionHandle, TableName
[, FOXPRO | NATIVE] [, CursorName])
参数
nConnectionHandle
活动的连接句柄。
TableName
指定远程表的名称,从该远程表中返回列名。
FOXPRO | NATIVE
指定在结果集合中列内容的格式,一定要用引号括起 FOXPRO 或 NATIVE。NATIVE 格式选项使用数据源格式存储表的列内容,FOXPRO 格式选项使用 Visual FoxPro 的表或临时表格式存储列内容,这些表或临时表在将数据源表导入 Visual FoxPro 时创建。如果省略 FOXPRO 或 NATIVE 参数,格式选项的缺省值是 FOXPRO
。
下表显示了结果集合中的 FOXPRO 的列格式:
列名 | 说明 |
Field_name | 列名 |
Field_type | 列数据类型 |
Field_len | 列长度 |
Field_dec | 小数位数 |
下表显示结果集合中具有 NATIVE 格式的列。在 NATIVE 格式中,根据数据源的不同,下表中没有列出的一些附加列可能会包含在结果集合中。
列名 | 说明 |
Table_qualifier | 表限定符标识 |
Table_owner | 表拥有者标识 |
Table_name | 表标识 |
Column_name | 列标识 |
Data_type | 列数据类型 |
Type_name | 列数据类型名 |
Precision | Precision 列的精度 |
Length | 数据的传送大小 |
Scale | 列的大小 |
Radix | 数值类型的基准 |
Nullable | 是否支持 null 值 |
Remarks | 列的说明 |
如果 TableName 指定的表不存在,同时格式设置成 NATIVE,SQLCOLUMNS( )返回真 (.T.),并创建一个空的表或临时表;如果 TableName 指定的表不存在,并且格式设置成 FOXPRO,SQLCOLUMNS( ) 返回假 (.F.)。
CursorName
为结果集合指定 Visual FoxPro 临时表的名称。如果不指定临时表名,Visual FoxPro 使用默认名 SQLRESULT。
返回值类型
数值型
说明
如果成功创建了临时表,SQLCOLUMNS( ) 返回 1;如果 SQLCOLUMNS( ) 仍在执行,返回 0;如果发生连接级错误,返回 -1;如果发生环境级错误,返回 -2。
SQLCOLUMNS( ) 是四个既可同步执行也可异步执行的函数之一,SQLSETPROP( ) 的异步设置决定这些函数是同步执行还是异步执行。异步方式下,必须重复调用 SQLCOLUMNS( ),直到返回一个非“假” (.F.) (仍在执行中) 值为止。