dbgetprop( ) 函数

示例 请参阅

返回当前数据库的属性,或者返回当前数据库中字段、命名连接、表或视图的属性。

语法

DBGETPROP(cName, cType, cProperty)

返值类型

字符型, 数值型, 或者逻辑值

参数

cName

指定数据库、字段、命名连接、表或视图的名称,dbgetprop( ) 函数返回有关信息。
要返回表或视图中字段的信息,可将包含该字段的表或视图的名称放在该字段名前面。例如,要返回 customer 表中 custid 字段的信息,可指定 cName 为:

customer.custid


cType

指定 cName 是否为当前数据库,或者当前数据库中的一个字段、命名连接、表或视图。下表列出了 cType 的允许值:

cType 说明
CONNECTION cName 是当前数据库中的一个命名连接。
DATABASE cName 是当前数据库。
FIELD cName 是当前数据库中的一个字段。
TABLE cName 是当前数据库中的一个表。
VIEW cName 是当前数据库中的一个视图。

指定属性名称,dbgetprop( ) 函数返回该属性的信息。下表列出了 cProperty 的允许值、返回值类型以及属性说明,每个说明都包括属性的读写权限。如果属性是只读的,则它的值就不能用 DBSETPROP( ) 更改。有关更改属性值。

连接属性

cProperty 类型 说明
Asynchronous L 连接方式。
默认值为“假”(.F.),同步连接方式;“真”(.T.) 为异步连接方式。
可读写。
BatchMode L 批处理方式。
默认值为“真”(.T.),以批处理方式操作的连接。
可读写。
Comment C 连接的注释文本。
可读写。
ConnectString C 注册连接字符串。
可读写。
ConnectTimeout N 以秒为单位的连接超时间隔。默认值为 0 (无限期等待)。
可读写。
Database C 使用带有 DATABASE 子句的 CREATECONNECTION 命令或“连接设计器”指定服务器数据库名。可读写。
DataSource C ODBC.INI 文件中定义的数据源名。
可读写。
DispLogin N 决定 ODBC 的注册对话框何时显示。DispLogin 可以是以下值:1 或 DB_PROMPTCOMPLETE(在 FOXPRO.H 中定义的常量)。
1 是默认值。2 或 DB_PROMPTALWAYS(在 FOXPRO.H 中定义的常量)。3 或 DB_PROMPTNEVER (在 FOXPRO.H 中定义的常量)。如果指定为 1 或 DB_PROMPTCOMPLETE,只有当缺少所需信息时,Visual FoxPro 才显示 ODBC 的注册对话框。如果指定 2 或 DB_PROMPTALWAYS,那么每次都显示 ODBC 的注册对话框,并允许在连接前改变设置。如果指定 3 或 DB_PROMPTNEVER,不显示 ODBC 注册对话框,并且当不能获得所需要的注册信息时,Visual FoxPro 产生错误信息。
可读写。
DispWarnings L 包含一个逻辑值,决定是否显示远程表、ODBC 或 Visual FoxPro 中不可俘获的警告信息。
默认值为“真”(.T.),指定显示不可俘获的警告信息。
可读写。
IdleTimeout N 以秒为单位的空闲超时间隔,在指定的时间间隔后,活动连接变成不活动。默认值为 0(无限期地等待)。
可读写。
PacketSize N 连接用的网络包大小,调整这个值可以提高性能,默认值为 4096 个字节 ( 4K )。
可读写。
PassWord C 连接口令。
可读写。
QueryTimeout N 以秒为单位的查询超时间隔。默认值为 0(无限期地等待)。
可读写。
Transactions N

决定连接如何管理远程表上的事务,Transactions 可为以下值:1 或 DB_TRANSAUTO(在 FOXPRO.H 中定义的常量)。
1 是默认值。远程表的事务自动进行。2 或 DB_TRANSMANUAL(在 FOXPRO.H 中定义的常量)。用SQLCOMMIT( )SQLROLLBACK( ) 人工处理事务。

可读写。

UserId C 用户标识。
可读写。
WaitTime N 在 Visual FoxPro 检查 SQL 语句是否完成以前,以毫秒为单位计算所消耗的时间总和。默认值为 100 毫秒。
可读写。

Database 属性

cProperty 类型 说明
Comment C 数据库的注释文本。可读写。
Version N 数据库版本号。只读。

数据属性

cProperty  类型 说明
Caption C 字段标题。可读写。
Comment C 字段的注释文本。可读写。
DefaultValue C 字段默认值。只读。
DisplayClass C 字段所映象的类的名称。可读写。
DisplayClassLibrary C 字段所映象的类所在的类库(包括详细的路径)。可读写。
Format C 字段显示格式。有关格式设置的列表,请参阅稍后部分的语言参考“Format 属性”。可读写。
InputMask C 字段输入格式。有关输入掩码设置的列表,请参阅稍后部分的语言参考“InputMask 属性”。可读写。
RuleExpression C 字段规则表达式。只读。
RuleText C 字段规则错误文本。只读。

视图字段属性

cProperty 类型 说明
Caption C

字段标题。

可读写。

Comment C 字段的注释文本。可读写。
DataType C 视图中字段的数据类型。最初设置为数据源字段的数据类型若要用 DBSETPROP()函数为字段指定不同的数据类型,可使用  CREATE TABLE – SQL语法创建字段。例如,要将 Mytable 表中 iCost 字段由整型改为长度为 4 带 2 个小数位的数值型,可使用如下命令:

DBSETPROP('mytable.icost', 'field', ;
'DataType', 'N(4,2)')

也可包含 NOCPTRANS 子句禁止将字符字段和备注字段转换到不同的代码页。对于远程视图可读写。本地视图忽略这个属性。

DefaultValue C 字段默认值。可读写。
KeyField L 如果在索引关键表达式中指定了这个字段,则为“真”(.T.);否则为“假”(.F.)。可读写。
RuleExpression C 字段规则表达式。可读写。
RuleText C 字段规则错误文本。可读写。
Updatable L 如果可以更改字段,则为“真”(.T.);否则为假(.F.)。可读写。
UpdateName C 如果可以更改字段,则为“真”(.T.);否则为假(.F.)。可读写。

表属性

cProperty  类型 说明
Comment C 表的注释文本。可读写。
DeleteTrigger C 删除触发器表达式。只读。
InsertTrigger C 插入触发器表达式。只读。
Path C 表的路径。只读。
PrimaryKey C 主关键字的标识名。只读。
RuleExpression C 行规则表达式。只读。
RuleText C 行规则错误文本。只读。
UpdateTrigger C 更新触发器表达式。只读。

视图属性

cProperty  类型 说明
BatchUpdateCount N 发送到视图后端的更新语句数目。1 为默认值。调整这个值能极大提高更新的性能。可读写。
Comment C 视图的注释文本。可读写。
CompareMemo L 若用于检测更新冲突的 WHERE 子句中包含备注字段或通用字段,返回 .T. (默认);否则,返回 .F. 。可读写。
ConnectName C 打开视图时所用的命名连接。只读。
FetchAsNeeded L 若只有在需要时才将数据调入,返回 .T.;否则,返回 .F.(默认)。可读写。
FetchMemo L 如果视图结果含有备注字段和通用字段,则为“真”(.T.)(默认值);否则为假(.F.)。可读写。
FetchSize N 当可逐步读取记录时,每次从远程表中所取得的记录数。默认值为 100 条记录。如果将FetchSize 设置为 -1,一次读取整个结果集合(只受 MaxRecords 设置的限制)。可读写。
MaxRecords N 返回结果集合时获取的最大行数。默认值为 -1(返回所有行)。0 表示执行视图,但不获取任何结果。可读写。
Offline L 若为游离视图,返回 .T.。只读。
ParameterList C

WHERE 子句参数。参数的格式为 ''ParameterName1, 'Type1'; ParameterName2, 'Type2'; ...'' ,其中 Type 是下列字符之一,用来指定参数类型:C— 字符型D — 日期型T — 日期时间型N — 数值型F — 浮点型B — 双精度型I — 整型Y — 货币型L — 逻辑型例如,''MyParam1, 'C' '' 指定一个名为 MyParaml 的单个字符型参数。关于创建带参数视图的详细内容,请参阅《Microsoft Visual FoxPro 6.0 中文版程序员指南》第八章“创建视图”。可读写。

Prepared L 如果 SQL 语句已准备好,可以执行REQUERY( ),返回 .T. ;否则,返回 .F. (默认)。REQUERY()用于从一个 SQL 视图中重新检索数据。有关 SQL 语句的准备,请参阅SQLPREPARE( )。本属性只用于视图。默认值为.F.假。可读写。
RuleExpression C 行规则表达式。可读写。
RuleText C 在浏览窗口或编辑窗口中编辑数据时,若出现错误,所显示的规则文本表达式。可读写。
SendUpdates L 如果由 SQL 更新查询去更新远程表,则为“真”(.T.);否则为“假”(.F.)(默认值)。可读写。
ShareConnection L 如果视图能与其他连接共享其连接句柄,则为“真”(.T.);否则为“假”(.F.)。可读写。
SourceType N 视图源。SourceType 可以是以下值:1. 视图使用本地表。2. 视图使用远程表。只读。
SQL C 打开视图时执行的 SQL 语句。只读。
Tables C 一个用逗号分隔的表名列表。可读写。
UpdateType N 更新类型。有效值为:1 或 DB_UPDATE(在 FOXPRO.H 中定义的常量),表示用新数据更新旧数据(默认值)。2 或 DB_DELETEINSERT(在 FOXPRO.H 中定义的常量)。删除旧数据并插入新数据。可读写。
UseMemoSize N 将结果返回到备注字段的列的最小宽度(以字节为单位)。例如,如果一个列结果的宽度大于 UseMemoSize 的值,那么列结果就存放在一个备注字段中。UseMemoSize 的取值从 1 到255,默认值为 255。可读写。
WhereType N

WHERE 子句更新远程表,WhereType 可以为以下值:1 或 DB_KEY(在 FOXPRO.H 中定义的常量)。用来更新远程表的 WHERE 子句仅由KeyFieldList 属性指定的主关键字段组成。2 或 DB_KEYANDUPDATBLE(在 FOXPRO.H中定义的常量)。用来更新远程表的 WHERE子句由 KeyFieldList 属性指定的主关键字段和所有可更新字段组成。3 或 DB_KEYANDMODIFIED(在 FOXPRO.H中定义的常量)(默认值)。更新远程表的WHERE 子句包含 KeyFieldList 属性指定的主关键字段和其他已修改字段。4 或 DB_KEYANDTIMESTAMP(在FOXPRO.H 中定义的常量)。更新远程表的 WHERE 子句由 KeyFieldList 属性指定的主关键字段和比较时间戳组成。关于“WhereType 属性”的详细内容,请参阅《Microsoft Visual FoxPro 6.0 中文版程序员指南》第八章“创建视图”。可读写。

说明

在获得一个数据库的属性或数据库的连接、表、视图或字段的属性之前,该数据库必须打开。在获得一个表或视图的属性之前,不必执行 USE 命令。

有关可以访问的连接、数据库、字段、表及视图属性的细节,请参考下表所列主题。

有关细节 参考区域 《Microsoft VisualFoxPro 6.0 中文版程序员指南》章名
数据库属性 “显示和设置数据库属性” 第六章, 创建数据库
连接 “访问远程数据” 第八章, 创建视图
视图 第八章, 创建视图
触发器 “使用触发器” 第七章, 处理表
标题 “创建字段标题” 第七章, 处理表
默认值 “创建字段默认值” 第七章, 处理表
“创建视图字段默认值” 第八章, 创建视图
注释 “添加字段注释” 第七章, 处理表
“显示和设置数据库属性” 第六章, 创建数据库
主关键字 “控制重复值” 第七章, 处理表
规则 “强制商业规则” 第七章, 处理表
“设置或更改字段级或表规则” 第七章, 处理表
“在视图字段和记录中创建规则” 第八章, 创建视图