ACCESS数据库为数据源,在NT网上以文件共享方式仿问问题(100分)

  • 主题发起人 主题发起人 ljn
  • 开始时间 开始时间
L

ljn

Unregistered / Unconfirmed
GUEST, unregistred user!
我刚从VB转入DELPHI不久,在使用数据库时遇到一些问题,请答复,谢谢。
1、我用ACCESS数据库为数据源,在NT网上以文件共享方式访问数据库,
但当一个用户访问(修改)时(甚至完成个性后),另一用户不能访
问库,出错信息与共享有关,用VFOXPRO数据库为数据源时也一样,不
知以文件共享方式访问数据库时应如何设置BDE和DATABASE、TABLE等
(Exclusive和read only 属性已设为 false)?
2、单机使用,当操作(主要是修改和删除)VFOXPRO数据库的表时常
出现错误,错误信息为“Multiple records found,but only one was expected”,
且是一部分记录才会出现,另一些不会。
3、单机使用VFOXPRO数据库的表时(主要是修改和删除)也出现错误,
错误信息为其它用户已在用该记录,但我这是单机啊。
再次表示感谢。
 
用 diamond access
 
1.设置BDE不为独占打开(BDE ADMIN里设置),好象还有个LOCAL SHARE??忘记了,
每个实验一下也要不了半小时:P
2.3.建立个关键字段就没问题了
 
1、不是的,建立关键字段,如auto increase的字段也不行。我也遇到
过类似的问题。
2、你可能出现问题的地方:
1、表之间存在连接关系,这样的话在oninsert事件里写代码要小心。
可能是这里出问题使你出现了两条相同的记录,所以刷新,删除,修改的
操作都不行。
2、还是要一个关键字吧,即使没有用,用auto increase类型的字段也好。
3、一个笨的解决办法,每次afterinsert事件都把当前记录的关键字的记录选出
来,然后判断有多少个,大于一的话,就用sql语句把它们删除,然后
show一个出错信息给用户。
 
vb和delphi实际有不少相通之处,你用过VB则先做实验确定用VB做是否有问题
,然后一点点排除,如:本机上是否有问题?,简单的一个库是否有问题?
FOXPRO不可能出问题,BDE中DBASE的有个LEVEL参数设成25试试。
 
出共享的错误信息是什么?很关注
单机有问题,我觉得首先解决单机的问题。
 
不答,想收email通知!sooooooooooooooooooooooorry!
 
ACCESS local Sql 形式,同BDE有效大关系
但在程序中,真正可能产生 Exclusive 情况的常与TABLE控件有关,
如普通表,无关键字(XBASE中常有)则需:
Table.Exclusive:=false; (设置EXCLUSE属性)
如建立INDEX 则较易产生 read only
如只为查询,可用SQL ,尽量少建索引
 
我用delphi5.0+access97一点问题都没有
 
多人接受答案了。
 
后退
顶部