得到当前数据库的属性,或者返回当前数据库中字段、命名连接、表或视图的属性。
注意:
得到当前数据库的属性,或者返回当前数据库中字段、命名连接、表或视图的属性之前,必须打开数据库。但不必打开一个表或视图来检索其属性。
DBGETPROP(cName, cType, cProperty)
参数
cName
指定数据库、字段、命名连接、表或视图的名称,DBGETPROP( ) 函数返回有关信息。
要返回表或视图中字段的信息,可将包含该字段的表或视图的名称放在该字段名前面。例如,要返回 customer 表中 custid 字段的信息,可指定 cName 为:
复制程序代码
customercustid
cType
指定 cName 是否为当前数据库,或者当前数据库中的一个字段、命名连接、表或视图。下表列出了 cType 的允许值:
cType 说明
CONNECTION
cName 是当前数据库中的一个命名连接。
DATABASE
cName 是当前数据库。
FIELD
cName 是当前数据库中的一个字段。
TABLE
cName 是当前数据库中的一个表。
VIEW
cName 是当前数据库中的一个视图。
cProperty
指定属性名称,DBGETPROP( ) 函数返回该属性的信息。下表列出了 cProperty 的允许值、返回值类型以及属性说明,每个说明都包括属性的读写权限。如果属性是只读的,则它的值就不能用DBSETPROP( ) 更改。
连接属性
cProperty 类型 说明
Asynchronous
L
连接方式。默认值为“假”(F),同步连接方式;“真”(T) 为异步连接方式。
可读写。
BatchMode
L
批处理方式。默认值为“真”(T),以批处理方式 *** 作的连接。
可读写。
Comment
C
连接的注释文本。
可读写。
ConnectString
C
注册连接字符串。
可读写。
ConnectTimeout
N
以秒为单位的连接超时间隔。默认值为 0 (无限期等待)。
可读写。
Database
C
使用带有 DATABASE 子句的 CREATE CONNECTION 命令或“连接设计器”指定服务器数据库名。
可读写。
DataSource
C
ODBCINI 文件中定义的数据源名。
可读写。
DisconnectRollback
L
指定 SQLDISCONNECT( ) 访问最后的连接句柄是等待事务处理或重新运行。
默认值为“假”(F),SQLDISCONNECT( ) 为等待事务处理。
为“真” (T), SQLDISCONNECT( ) 为重新运行。
自动连接事务处理不受该设置影响。
可读写。
DispLogin
N
根据含有的数值来确定 ODBC 的注册对话框的显示。 DispLogin 可以是以下值:
1 或 DB_PROMPTCOMPLETE (在 Foxproh定义的常量)。 1 是默认值。
2 或 DB_PROMPTALWAYS (在 Foxproh定义的常量)。
3 或 DB_PROMPTNEVER (在 Foxproh定义的常量)。
如果指定为 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 (在 Foxproh定义的常量) 1 是默认值。远程表的事务自动进行。
2 或 DB_TRANSMANUAL (在 Foxproh定义的常量) 用 SQLCOMMIT( ) 和 SQLROLLBACK( )人工处理事务。
可读写。
UserId
C
用户标识。
可读写。
WaitTime
N
在 Visual FoxPro 检查 SQL 语句是否完成以前,以毫秒为单位计算所消耗的时间总和。默认值为 100 毫秒。
可读写。
数据库属性
cProperty 类型 说明
Comment
C
数据库的注释文本。
可读写。
DBCEventFileName
C
包含 DBC 事件代码的文件的相对路径和文件扩展名。
DBCEvents
L
启用数据环境。设置 enable 为“真”(T)。
Version
N
数据库版本号。
只读。
表字段属性
cProperty 类型 说明
Caption
C
字段标题文本。如果等号(=)放在属性值的前面, Visual FoxPro 对表达式求值。否则,按字面值对待。
可读写。
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('mytableicost', 'field', ; 'DataType', 'N(4,2)')
可以包括 NOCPTRANS 子句以防止字符型和备注型字段转换成不同的代码页。
远程视图可读写。
DisplayClass
C
字段映射的类名。
可读写。
DisplayClassLibrary
C
使用DisplayClass 属性指定类库路径。
可读写。
DefaultValue
C
字段的默认值
可读写。
KeyField
L
如果在索引关键表达式中指定了这个字段,则为“真”(T);否则为“假”(F)。
可读写。
RuleExpression
C
字段规则表达式。
可读写。
RuleText
C
字段规则错误文本。
可读写。
Updatable
L
如果可以更改字段,则为“真”(T);否则为假(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 为“真” (T),连接中同样配置的游标共享时允许同时读取几行。否则,AllowSimultaneousFetch 为“假” (F),不允许同时读取几行 。
注意:
该属性应用 Visual FoxPro 80 及其后的版本。在 Visual FoxPro 80 及其后的版本中创建视图与早期版本不同。在数据容器创建或修改远程视图时,Visual FoxPro 80 及其后的版本调用Visual FoxPro 80之前版本的 VALIDATE DATABASE 命令将产生一个错误。Visual FoxPro 80之前版本调用 VALIDATE DATABASE RECOVER ,每一个视图要删除 AllowSimultaneousFetch 属性。
BatchUpdateCount
N
在后端对视图发送更新语句的数目, 默认值为1 。 调整该值能大大提高更新的效率。
可读写。
Comment
C
视图的注释文本。
可读写。
CompareMemo
L
在更新 WHERE 子句包含备注字段(备注型、通用型或或远程视图时间戳) 为“真” (T) (默认),否则,为“假”(F)。
可读写。
ConnectName
C
打开视图时所用的命名连接。
只读。
FetchAsNeeded
L
如果为“真”(T),在需要时取数据,例如,记录指针指向到行不取数据。
如果为“假”(F),在空闲期间取数据。(默认)
注意:
当按分批取数据被禁止时,FetchAsNeeded 不能应用 (FetchSize 为 -1)。
可读写。
FetchMemo
L
如果视图结果含有备注字段和通用字段,则为“真”(T)(默认值);否则为假(F)。
使用 ISMEMOFETCHED( ) 函数来确定备注字段被读取。
可读写。
FetchSize
N
包含每次从远程表读取的记录数。默认为 100 条记录。设置 FetchSize 为 –1 得到整个结果集合,只受 MaxRecords 设置的限制。
注意:
在分批取回所有的行以前一直占据连接。如果ShareConnection为真 (T)时FetchSize使用警告代码。
可读写。
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' '' 指定参数名 MyParam1 为单字符类型。
有关创建参数化视图的更多信息,请参见 如何: 创建参数化视图
可读写。
Prepared
L
如果SQL语句已准备好,可以执行 REQUERY( ) 函数,返回“真” (T) 。 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 (在 foxproh 中定义的常量)。表示用新数据更新旧数据(默认值)。
2 或 DB_DELETEINSERT (在 foxproh 中定义的常量)。删除旧数据并插入新数据。
可读写。
UseMemoSize
N
将结果返回到备注字段的列的最小宽度(以字节为单位)。 例如,如果一个列结果的宽度大于 UseMemoSize 的值,那么列结果就存放在一个备注字段中。UseMemoSize 可以是 1 到 255;默认值是255。
可读写。
WhereType
N
WHERE 子句更新远程表,WhereType 可以为以下值:1 或 DB_KEY (在Foxproh 中定义的常量)。 用来更新远程表的 WHERE 子句仅由 KeyFieldList 属性指定的主关键字段组成。
2 或 DB_KEYANDUPDATABLE (在 Foxproh 中定义的常量)。用来更新远程表的 WHERE子句由 KeyFieldList 属性指定的主关键字段和所有可更新字段组成。
3 或 DB_KEYANDMODIFIED (在 Foxproh 中定义的常量) (默认)。更新远程表的WHERE 子句包含 KeyFieldList 属性指定的主关键字段和其他已修改字段。
4 或 DB_KEYANDTIMESTAMP (在 Foxproh 中定义的常量)。更新远程表的 WHERE 子句由 KeyFieldList 属性指定的主关键字段和比较时间戳(标记?)组成。
关于 WhereType 属性更多信息,请参见 Managing Updates by Using Views。
可读写。应该是参照完整性的作用,你向数据库中追加不合要求的记录,会限制你进行追加
你设了参照完整性,但你在表单中追加的记录违反了这个参照完整性。
如 向从表中插入的数据,不存在于主表中,触发器应会失败。
如果你一定要追加的话,将限制改为忽略就可以了-- 查看数据库已有触发器
use yourdatabase
go
select from sysobjects where xtype='TR'
-- 查看单个触发器
exec sp_helptext '触发器名'
--删除触发器:
基本语句如下:
drop trigger trigger_namevfp提供的触发器包括添加,删除,修改触发器,表示分别在执行这三项 *** 作时会被触发的条件。
update,insert,delete的sql命令都不需要打开表,只要在路径里能找到表就可以了,就在命令窗口里输入就可以了,当然也可以在程序中输入语法错误,肯定你有输错的地方。
VFP,VisualFoxPro,是Microsoft公司从Fox公司的FoxBase数据库软件经过数次改良,并且移植到Windows之后,得来的应用程序开发软件,主要用于开发数据管理与运算等方面的软件。VFP是Microsoft公司推出的最新可视化数据库管理系统平台,是功能特别强大的32位数据库管理系统,它提供了功能完备的工具,极其友好的用户界面,简单的数据存取方式,独一无二的跨平台技术,交肯有良好的兼容性,真正的可编译性和较强的安全性,是目前最快捷,最实用的数据库管理系统软件之一。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)