搜索
编程论坛
→
数据库技术
→
『 VFP论坛 』
→ 求助!!
标题:
求助!!
只看楼主
qingsll
等 级:
新手上路
帖 子:24
专家分:0
注 册:2005-7-14
楼主
问题点数:0 回复次数:8
求助!!
在窗体中command的click事件中,对数据库表记录进行dele,pack操作,为什么是提示"必须以独占方式打开"?
急求,谢谢
2005-07-14 09:22
tzhtang
等 级:
新手上路
帖 子:888
专家分:0
注 册:2004-8-30
第
2
楼
得分:0
因为pack命令必须在独占方式下使用.
当你打开数据表时用:
1. use 数据表 EXCLUSIVE
&&独占方式打开
2. use 数据表 share
&&共享方式打开
2005-07-14 13:19
qingsll
等 级:
新手上路
帖 子:24
专家分:0
注 册:2005-7-14
第
3
楼
得分:0
可是当你调用一个窗体,且以设定好窗体的数据环境,在对数据库表(不是自由表)操作时,
我们在调用表时,系统默认是以独占的方式打开的,只要
select 表
就应该可以对它进行pack操作的,并且在这个窗体中对表的其它操作都是正常的,比如更改和
增加记录。只是不能pack.
请指教
[此贴子已经被作者于2005-7-14 15:24:01编辑过]
2005-07-14 15:06
tzhtang
等 级:
新手上路
帖 子:888
专家分:0
注 册:2004-8-30
第
4
楼
得分:0
你的系统默认的是独占方式,但是你打开这个操作表的命令是用了共享方式.
select 表是选择工作区,跟打开表没有关系.
你检查你打开这张表的use 命令参数,就可以找到问题的症结了.
2005-07-14 17:56
qingsll
等 级:
新手上路
帖 子:24
专家分:0
注 册:2005-7-14
第
5
楼
得分:0
可是,当你在窗体的"数据环境(Data Environment)"中添加了数据库
表时,数据库表是随着窗体的打开/关闭而打开/关闭的,而且它就应该
是以exclusive方式打开的!我晕!
你不可能在某一事件中再用use打开表的,如果你使用了use tables,
系统提示"表在应用中"。
那么是什么原因造成了数据库表是以shared方式打开的呢?
2005-07-14 20:03
tzhtang
等 级:
新手上路
帖 子:888
专家分:0
注 册:2004-8-30
第
6
楼
得分:0
将数据环境中该表的属性exclusive点击为.t.即可.
建议为了以后编程的方便,最好不要用数据环境,而在load 和unload中写入命令,可能对程序控制更有效更简捷!
2005-07-20 10:15
qingsll
等 级:
新手上路
帖 子:24
专家分:0
注 册:2005-7-14
第
7
楼
得分:0
试过了,不行的!
2005-07-25 11:51
KOFIORI
等 级:
新手上路
帖 子:2
专家分:0
注 册:2005-7-25
第
8
楼
得分:0
在读占打开数据库时 可 先用 USED(数据库表名) 检查,该数据库表是否打开了。
IF USED(‘BIAO.DBF’)
SELECT BIAO.DBF
USE
USE BIAO EXCL
ENDIF
就是这样,在任何时刻,任何事件中都可以独占打开。
天才 = 1% 的汗水 + 99% 的命水 !!! 人生只有在失败中不断提升自己,才可以令生命产生意义和动力!
2005-07-25 20:27
qingsll
等 级:
新手上路
帖 子:24
专家分:0
注 册:2005-7-14
第
9
楼
得分:0
谢谢两位!
我找到了这个原因:一个表被加入到两个窗体的数据环境中时,表是以share方式打开的。
因此必须将加入了该表的所有数据环境中的该表属性exclusive改为.T.
2005-07-27 10:11
9
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-22855-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.246543 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved