VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 34|回复: 9

数据库属性

[复制链接]

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2020-3-23 09:30:02 | 显示全部楼层 |阅读模式
请问:
   问题1:怎么能够用2.prg程序执行显示数据库注释呢?
例如:数据库添加的注释:“本数据库用于管理员工薪金”如何用程序显示这个数据库注释?
   
   问题2:本人在建立了A.DBF,B.DBF,C.DBF三个表的关系为:A与B为一对一关系,B与C为多对一关系,A和C都设置“姓名”为普通索引,B为主索引,在我设置了B和C参照完整性为“更新规则”为“级联”后,修改B.dbf中任一个“姓名”记录时候,都会弹出出错信息“触发器”失败。

请各位高手赐教,谢谢
回复

使用道具 举报

0

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2020-7-2 12:15:01 | 显示全部楼层
1.DBGETPROP(数据库名称, "DATABASE", "Comment")

2.参考一下:

“参照完整性”(RI)生成器中的“更新规则”(Rules for Updating)选项卡指定了修改父表中关键字值时要应用的规则。

级联(Cascade)

指定父表中主(Primary)或备选(Candidate)关键字字段值的变化被反映到相关的子表中。如果选择了该选项,则任何时候对父表中那些字段作出的任何修改,Microsoft Visual FoxPro 都会自动改变所有相关子表记录中的相应值。
限制(Restrict)

防止父表中主(Primary)或备选(Candidate)关键字字段值的修改,因此不会在子表中出现孤立的记录。

忽略(Ignore)
能够更新父表中的记录,即使子表中有相关记录。


回复

使用道具 举报

0

主题

16

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2020-7-12 00:45:01 | 显示全部楼层
1.DBGETPROP(数据库名称, "DATABASE", "Comment")

楼上答案正确.

2. 如果对VFP的触发器不太熟悉的话,少用为妙.

  A <-> C   一对一
  C  => B   一对多

  如此的设置,在任何试图对B中记录做修改的时候,都会有使得VFP
的数据库代码去检查C中的记录,如果修改的姓名的内容在C中不存在
自然会失败.

  如果要看清楚那里有问题,展开数据库,打开Store Procedure ,然后
在触发器代码的地方跟踪,看看哪里错了.
回复

使用道具 举报

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2020-7-18 08:45:01 | 显示全部楼层
能够告诉我dbgetprop(数据库名称,"database","Comment")用一个例子来解释一下该命令的用法吗?
第一,我不知道何为之“数据库名称”,它在哪里建立的呢?哪个才是它的名称?请高手赐教,我是初接触VFP的新手
第二,"database"也是数据库,它和数据库名称有何区别呢?
第三,"Comment"命令指的是什么呢?
麻烦各位高手举个实际的例子给我可以吗?

谢谢各位
回复

使用道具 举报

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2020-7-18 10:00:01 | 显示全部楼层
请问,为什么我把数据库名称:3.dbc
dbgetprop(3.dbc,"database","Comment")系统显示出错信息“函数名缺少”
请各位高手赐教
回复

使用道具 举报

0

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2020-7-19 09:00:01 | 显示全部楼层
数据库要打开

试一试:

dbgetprop("3.dbc","database","Comment")
回复

使用道具 举报

0

主题

16

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2020-7-19 16:00:02 | 显示全部楼层
能够告诉我dbgetprop(数据库名称,"database","Comment")用一个例子来解释一下该命令的用法吗?
第一,我不知道何为之“数据库名称”,它在哪里建立的呢?哪个才是它的名称?请高手赐教,我是初接触VFP的新手
第二,"database"也是数据库,它和数据库名称有何区别呢?
第三,"Comment"命令指的是什么呢?
----------------------------------------------------------------------------------
数据库名称就是它的名字,在你建立了一个数据库之后,如:abcde.dbc  //注意是DBC文件
那么你的数据库的名字就是:abcde,如果当前数据库是打开的,那么使用以下命令
取得数据库的相关注释.

?dbgetprop("abcde","database","Comment")
----------------------------------------------------------------------------------
database 不是数据库,它是一个单词,概念,名字,没有实体.
----------------------------------------------------------------------------------
Comment 不是命令,在这里是参数,表示我要得到的是注释.



回复

使用道具 举报

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2020-7-20 12:15:01 | 显示全部楼层
恩,可以做到在屏幕上显示此注释,但是我想要得到的结果是运行------dbgetprop("abcde","database","Comment")  可以弹出窗口,窗口名称是:“显示abcde数据库注释”,然后下面就是显示Comment中的注释参数,窗口下面有“终止”“重试”“忽略”这三个选项目。

请各位高手如何实现弹出窗口呢?
回复

使用道具 举报

0

主题

16

帖子

15

积分

新手上路

Rank: 1

积分
15
发表于 2020-7-20 18:30:01 | 显示全部楼层
这东西没有多少实际的意义,而且学习的话,还是多看看书,这些问题
是很容易理解的东西,看书就会了.

MessageBox(("abcde","database","Comment"),2+32,"显示abcde数据库注释")
回复

使用道具 举报

1

主题

5

帖子

5

积分

新手上路

Rank: 1

积分
5
 楼主| 发表于 2020-7-21 02:15:02 | 显示全部楼层
呵……谢谢你,我看了书后就觉得真的如你所说的,之前没有想到书籍会那么有用的,都是实操,唉……真是浪费了不少的时间,谢谢你!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2020|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表