再问Record not found or changed by another user错误提示(200分)

F

fjx_jwf

Unregistered / Unconfirmed
GUEST, unregistred user!
delphi6+sql2000 基于tcp/ip的三层应用
我在用applyupdate(-1)更新一笔数据时出现Record not found or changed by another user提示
可是只有我一个用户用呀?
另外这个问题以前很多人问过,不过我按上面的方法做过了都不行。
另外有一点我发现虽然出现了Record not found or changed by another user提示但是
数据却实实在在的更新到了数据库,但changecount>0
我都快急风了
再过两天就要交货了
 
补充一下
我在录入界面上直接输入后保存则不会出Record Not Found ......的提示
我用语句付值后保存就会出现错误提示
语句如下:
if not (dmod.tempdataset.state in [dsedit,dsinsert]) then
dmod.tempdataset.edit;
dmod.tempdataset.fieldbyname('jxsdm').asstring:='a'+dmod.dbtreedataset.fieldbyname('jxsdm').asstring;
dmod.tempdataset.fieldbyname('jxsmc').asstring:=dmod.dbtreedataset.fieldbyname('regionname').asstring;
 
是由float或datetime字段的精度问造成的。我以前遇过,并且在
cndev讨论过。
 
你有没有使用数据集的缓冲,如果没有的话当你一赋值后,数据记录的值就已改变,以后你再使用
applyupdate(-1)我想可能就会出错.
 
我认为有两种情况:
1.客户端可视的字段不够,造成应用服务器端在查找记录然后更新时的二义逻辑。
2.关键字更新未包含在客户端,最好关键字的更新包含在客户端,还有数据库最好不要包含自动增号字段(若一定要自动编号ID,则ID使用createguid创建)。
 
我自己解决了,是在sqlserver中触发器写错了
 
fjx_jwf,请您帮我解答:
http://www.delphibbs.com/delphibbs/dispq.asp?lid=2546359
 
顶部