返回当前数据库的属性,或者返回当前数据库中字段、命名连接、表或视图的属性。
语法
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 是当前数据库中的一个视图。 |
连接属性
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 中定义的常量)。 可读写。 |
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', ; 也可包含 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 中文版程序员指南》章名 |
数据库属性 | “显示和设置数据库属性” | 第六章, 创建数据库 |
连接 | “访问远程数据” | 第八章, 创建视图 |
视图 | 第八章, 创建视图 | |
触发器 | “使用触发器” | 第七章, 处理表 |
标题 | “创建字段标题” | 第七章, 处理表 |
默认值 | “创建字段默认值” | 第七章, 处理表 |
“创建视图字段默认值” | 第八章, 创建视图 | |
注释 | “添加字段注释” | 第七章, 处理表 |
“显示和设置数据库属性” | 第六章, 创建数据库 | |
主关键字 | “控制重复值” | 第七章, 处理表 |
规则 | “强制商业规则” | 第七章, 处理表 |
“设置或更改字段级或表规则” | 第七章, 处理表 | |
“在视图字段和记录中创建规则” | 第八章, 创建视图 |