Functions.DbGetProp 方法 |
备注: |
---|
在检索数据库及其连接、表、视图或字段的属性之前,必须先打开数据库。 但是,在检索表或视图的属性之前,不需要打开表或视图。 |
命名空间: XSharp.VFP
1customer.custid
cType | 描述 |
---|---|
Connection | cName是当前数据库中的命名连接。 |
Database | Name是当前数据库。 |
Field | cName是当前数据库中的字段。 |
Table | cName是当前数据库中的表。 |
View | cName是当前数据库中的视图。 |
cProperty | 类型 | 描述 |
---|---|---|
Asynchronous | L |
连接模式。(默认)False (.F.) 指定同步连接。True (.T.) 指定异步连接。 |
BatchMode | L | 批处理模式。(默认)True (.T.) 指定连接以批处理模式运行。 |
Comment | C | 连接注释的文本。 |
ConnectString | C | 登录连接字符串。 |
ConnectTimeout | N | 连接超时间隔(以秒为单位)。默认值为0(无限等待)。 |
Database | C | 在Create Connection命令或Connection Designer中使用Database子句指定的服务器数据库名称。 |
DataSource | C | Odbc.ini文件中定义的数据源名称。 |
DisconnectRollback | L |
指定在为最后一个连接句柄调用SqlDisconnect( )时是提交还是回滚挂起的事务。 默认值为false (.F.),表示在为最后一个连接句柄调用SqlDisconnect( )时提交挂起的事务。 指定true (.T.)以在为最后一个连接句柄调用SqlDisconnect( )时回滚挂起的事务。 具有自动事务处理的连接不受此设置的影响。 |
DispLogin | N |
包含一个数值,用于确定何时显示ODBC登录对话框。DispLogin可以采用以下值: 1或DB_PROMPTCOMPLETE(来自Foxpro.h)。1是默认值。 2或DB_PROMPTALWAYS(来自Foxpro.h)。 3或DB_PROMPTNEVER(来自Foxpro.h)。 如果指定1或DB_PROMPTCOMPLETE,X#仅在缺少任何必需信息时才显示ODBC登录对话框。 如果指定2或DB_PROMPTALWAYS,则始终显示ODBC登录对话框,允许您在连接之前更改设置。 如果指定3或DB_PROMPTNEVER,则不显示ODBC登录对话框, 如果所需的登录信息不可用,X#将生成错误。 |
DispWarnings | L | 包含一个逻辑值,用于确定是否显示来自远程表、ODBC或X#的不可捕获的警告。 (默认)True (.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 | X#在检查SQL语句是否已完成执行之前经过的时间(以毫秒为单位)。 默认值为100毫秒。 |
备注: |
---|
所有这些都是可读/写的 |
cProperty | 类型 | 描述 |
---|---|---|
Comment | C |
数据库注释的文本。 读/写。 |
DBCEventFileName | C | 包含DBC事件代码的外部程序文件的相对路径和文件名。 |
DBCEvents | L | DBC事件的启用状态。设置为True (.T.)以启用。 |
Version | N |
数据库版本号。 只读。 |
cProperty | 类型 | 描述 |
---|---|---|
Caption | C | 字段标题。如果此属性的值前面有等号(=),X#会将该值评估为表达式。 否则,它被视为字符串字面量。 |
Comment | C | 字段注释的文本。 |
DefaultValue | C | 字段的默认值。 |
DisplayClass | C | 用于字段映射的类的名称。 |
DisplayClassLibrary | C | DisplayClass属性指定的类库的路径。 |
Format | C | 字段显示格式。有关格式设置的列表,请参见Format属性。 |
InputMask | C | 字段输入格式。有关输入掩码设置的列表,请参见InputMask属性。 |
RuleExpression | C | 字段规则表达式。 |
RuleText | C | 字段规则错误文本。 |
备注: |
---|
以上所有属性均为读/写 |
cProperty | 类型 | 描述 |
---|---|---|
Caption | C | 字段标题。如果此属性的值前面有等号(=), Visual FoxPro会将该值评估为表达式。否则,它被视为字符串字面量。 |
Comment | C | 字段注释的文本。 |
DataType | C |
视图中字段的数据类型。最初设置为数据源中该字段的数据类型。 要使用DbSetProp( )为字段指定不同的数据类型,请使用Create Table – SQL中创建字段的语法。 例如,要将名为Mytable的表中名为iCost的整数字段的数据类型更改为宽度为4且小数位为2的数值类型, 使用DbSetProp('mytable.icost', 'field', ; 'DataType', 'N(4,2)') 您还可以包含NOCPTRANS子句以防止将字符和备注字段转换为不同的代码页。 对于远程视图为读/写。 |
DisplayClass | C | 用于字段映射的类的名称。 |
DisplayClassLibrary | C | DisplayClass属性指定的类库的路径。 |
DefaultValue | C | 字段的默认值 |
KeyField | L | 如果字段在索引键表达式中指定,则包含True (.T.);否则,包含False (.F.)。 |
RuleExpression | C | 字段规则表达式。 |
RuleText | C | 字段规则错误文本。 |
Updatable | L | 如果字段可以更新,则包含True (.T.);否则,包含False (.F.)。 |
UpdateName | C | 当字段中的数据更新到远程表时使用的字段名称。默认为远程表字段名。 |
备注: |
---|
以上所有属性均为读/写 |
cProperty | 类型 | 描述 |
---|---|---|
Comment | C |
表注释的文本。 读/写。 |
DeleteTrigger | C |
删除触发器表达式。 只读。 |
InsertTrigger | C |
插入触发器表达式。 只读。 |
Path | C |
相对于DBC的表的相对路径,包括文件名。 只读。 |
PrimaryKey | C |
主键的标签名。 只读。 |
RuleExpression | C |
行规则表达式。 只读。 |
RuleText | C |
行规则错误文本。 只读。 |
UpdateTrigger | C |
更新触发器表达式。 只读。 |
cProperty | 类型 | 描述 | ||
---|---|---|---|---|
AllowSimultaneousFetch | L |
适用于使用远程视图、共享连接和使用ODBC创建的游标。 当允许共享连接的类似配置的游标同时获取行时,AllowSimultaneousFetch包含True (.T.)。 否则,当不允许同时获取行时,AllowSimultaneousFetch包含False (.F.)。
| ||
BatchUpdateCount | N |
发送到后端的视图更新语句的数量。默认为1。
调整此值可以大大提高更新性能。 读/写。 | ||
Comment | C |
视图注释的文本。 读/写。 | ||
CompareMemo | L |
如果在更新的Where子句中包含备注字段(类型为Memo、General或Picture,或对于远程视图,类型为Timestamp),
则包含true (.T.)(默认);否则,包含false (.F.)。 读/写。 | ||
ConnectName | C |
打开视图时使用的命名连接。 只读。 | ||
FetchAsNeeded | L |
如果为True (.T.),则仅在需要时获取数据,例如当记录指针移动到尚未获取的行时。 如果为False (.F.),则在空闲时获取额外数据。(默认)
读/写。 | ||
FetchMemo | L |
如果与视图结果一起获取备注和通用字段,则包含true (.T.)(默认);否则,包含false (.F.)。 使用ISMEMOFETCHED( )函数来确定是否已获取备注字段。 读/写。 | ||
FetchSize | N |
包含一次从远程表获取的记录数。默认为100条记录。
将FetchSize设置为–1会检索完整的结果集,受MaxRecords设置的限制。
读/写。 | ||
MaxRecords | N |
返回结果集时获取的最大记录数。默认为– 1(返回所有行)。 值为0指定执行视图但不获取任何结果。 读/写。 | ||
Offline | L |
如果视图是离线视图,则包含true (.T.)。 只读。 | ||
ParameterList | C |
Where子句参数。参数的格式为"ParameterName1, 'Type1'; ParameterName2, 'Type2'; ...",其中Type
是指定参数类型的以下字符之一: C – 字符型 D – 日期型 T – 日期时间型 N – 数值型 F – 浮点型 B – 双精度型 I – 整数型 Y – 货币型 L - 逻辑型 例如,"MyParam1, 'C'"指定了一个名为MyParam1的字符型参数。 有关创建参数化视图的更多信息,请参见如何:创建参数化视图。 可读/写。 | ||
Prepared | L |
如果为后续Requery( )函数调用准备了SQL语句,则包含True (.T.)。
Requery( )用于再次检索SQL视图的数据。有关准备SQL语句的更多信息,请参见SqlPrepare( )。
默认值为False (.F.)。 在Browse或Edit窗口中编辑数据时发生错误时显示的规则文本表达式。 可读/写。 | ||
RuleExpression | C |
行规则表达式。 可读/写。 | ||
RuleText | C |
在Browse或Edit窗口中编辑数据时发生错误时显示的规则文本表达式。 可读/写。 | ||
SendUpdates | L |
如果发送SQL更新查询以更新远程表,则包含True (.T.);否则,包含False (.F.)(默认)。 可读/写。 | ||
ShareConnection | L |
如果发送SQL更新查询以更新远程表,则包含True (.T.);否则,包含False (.F.)(默认)。 可读/写。 | ||
ShareType | L |
如果视图可以与其他连接共享其连接句柄,则包含True (.T.);否则,包含False (.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_KEYANDUPDATable(来自Foxpro.h)。用于更新远程表的Where子句包含使用KeyFieldList属性 指定的主键字段和任何可更新字段。 3 或 DB_KEYANDMODIFIED(来自Foxpro.h)(默认)。用于更新远程表的Where子句包含使用KeyFieldList属性 指定的主键字段和任何其他已修改的字段。 4 或 DB_KEYANDTIMESTAMP(来自Foxpro.h)。用于更新远程表的Where子句包含使用KeyFieldList属性 指定的主键字段和时间戳的比较。 有关WhereType属性的更多信息,请参见使用视图管理更新。 可读/写。 |
1Close Databases 2Clear 3Open Database (HOME(2) + 'Data\testdata') 4* 显示主键字段 5cResults = DbGetProp("customer", "Table", "PrimaryKey") 6=MessageBox(cResults) // 显示 'cust_id' 7* 显示'cust_id'字段的注释 8cResults = DbGetProp("customer.cust_id", "Field", "Comment") 9 10IF LEN(ALLTRIM(cResults)) = 0 11 =MessageBox("此字段没有注释。" + CHR(13) + ; 12 CHR (13) + "使用DbSetProp( )添加注释。") 13ELSE 14 =MessageBox("Cust_id字段注释:" + cRESULTS) 15ENDIF