当前位置:主页>仓库管理软件> 列表

为什么加了cancel仍然保存了记录? 找进销存管理软件破解

库存管理软件版1楼: 入库单adoquery0
入库明细adoquery1

我在adoquery1的beforpost前加了代码:
if 配件代码已存在 then
begin
Application.MessageBox(''配件代码已存在!'', ''提示'', Mb_Ok +CONINFORMATION);
adoquery1.Cancel;
Abort;
end;
即代码存在,不能POST。

但现在的客户试用的结果是:代码有重复。
我想:即使在不同的计算机上编辑同一入库明细,发现重复代码也会Cancel。真是百思不得其解!
求各位该分析一下:在怎样的情况下?怎么保存到数据库中(D7+sql server 2000)去的?

2楼: 因为你已经post了 如管家婆财务软件介绍

3楼: 或者你没有使用缓存更新,而系统自动post

4楼: 我想在怎样情况下也的经过beforpost吧?
to woDing:
1.没经过beforpost?为什么?
2.使用缓存更新,能不能说详细一些?
清赐教

5楼: 如果表中‘配件代码’是唯一的話,你把設為主索引鍵就不會啦,

6楼: 入库单明细中不同的入库单允许相同配件代码

库存管理软件版7楼: 急死了,在线等,同志们帮忙阿?来者有分,不够再加

8楼: 把你的检测从beforpost事件中取出来,放在保存动作之前,你试一下

9楼: 对配件代码建立 Unique 索引是最有效的办法。

10楼: 入库单adoquery0


入库明细adoquery1

我在adoquery1的beforpost前加了代码:
你應該先查詢一次是否存在數據。,
with adoquery1 do
begin
close;
sql.clear;
sql.add(''select 查詢的內容'');
open;
end;
if adoquery1.RecordCount > 0) then
begin
Application.MessageBox(''配件代码已存在!'', ''提示'', Mb_Ok +CONINFORMATION);
adoquery1.Cancel;
Abort;
end;

11楼: 对配件代码建立 Unique 索引是最有效的办法。
在aql2000中建立索引吗?
这样会不会影响adoquery1在dbgrid中的可编辑性?
to 漂流的雲:
我本来就是先查询后判断。问题是:在单机运行中未出现过问题,网络中运行出现了问题。
另:在adoquery1 afterpost,aferdel 有代码Refresh,是否与此有关?
在什么情况下不经过beforpost?

12楼: if 配件代码已存在 then
begin
Application.MessageBox(''配件代码已存在!'', ''提示'', Mb_Ok +CONINFORMATION);
[red]//adoquery1.Cancel;[/red]去掉这句你再试
Abort;
end; 如如何使用财务软件

13楼: //adoquery1.Cancel;去掉这句你再试
去掉词句无法撤销错误修改,另加按钮吗?
Cancel与Abort冲突吗?
另:将adoquery1.Cancel 改为datset.Cancel是否可行?二者有何区别?

库存管理软件版14楼: 在aql2000中建立索引
不会影响adoquery1在dbgrid中的可编辑性

15楼: 我的表是这样的:
入库单明细ID(自增字段) 入库单ID 配件代码
1 1 001
2 1 008
3 2 001
怎样建立配件代码的唯一(Unique)索引?不允许阿。

16楼: 先将重复的配件代码进行修改,然后建立索引。

17楼: 建立索引是非常简单实用的方法!

18楼: 二位大侠:我想是误会了。
入库明细表是客户录入的结果,是不允许修改的。
你不可能N个入库单建立N个入库明细吧。
只要是入库单ID不同,则允许有重复记录。
总不能一个配件只允许客户录入一次把。

19楼: 那就创建 入库单ID+配件代码 的复合索引吧

20楼: adoquery1.Cancel;去掉這句應該可以
不過要手動才能還原

库存管理软件版21楼: 典型的并发操作错误,在网络操作的前提下,配件代码的唯一性检测不应该在客户端实现,
因为检测后很可能别的用户又添加了数据。

22楼: 非常感谢各位的帮助。


尤其感谢gyh77(没来,无法加分)、KaiDa,skyccf(按此方法解决问题),WoDing(第一个回答问题)、deardai(第一次提出正确思路)
再次感谢大家了。 如进销存管理软件破解

23楼: 0738十分抱歉,对不起。分了分才看到你的回答。你的回答一语中的,我会记住你的。有机会一定给你加分。谢谢!!