关于计算字段或触发器更新字段的前台显示问题 (100分)

  • 主题发起人 主题发起人 sdhxdjw
  • 开始时间 开始时间
S

sdhxdjw

Unregistered / Unconfirmed
GUEST, unregistred user!
各位大侠:
后台采用SQL2000,前台用DEPHI+ADO编写进销存系统!
最近发现,后台所采用的计算字段或采用触发器更新的字段,在前台不能及时显示!
例如:表1有重量、数量、单价、金额
如果材料是按重量计算的,金额=重量*单价、
如果是按数量计算的,金额=数量*单价
我采用触发器计算或计算字段算出材料的所需金额,在后台没任何问题!
可在前台,当我输入数量或重量,单价,可金额即不能及时显示,只有刷新才能显示出来!
不过,我不可以每输入一条记录就刷新一下吧,这样效率太低!
在DEPHI中采用计算字段虽然可以实现及时显示,及时计算,可我不想把业务逻辑做在前台DEPHI
中,不知各位大侠,有没有更好的解决方法!
第一个提出好的解决方法都得分!
难道真的解决不了吗?
 
金额=重量*单价
我觉得这种运算不算业务逻辑吧。
 
TO caidao
不算业务逻辑吧,也行!关键是后台所采用的计算字段或采用触发器更新的字段,
在前台不能及时显示!你有没有好方法解决?
 
我也在用SQL SERVER

学习
 
select 重量,数量,单价,金额=数量×单价 from ***
 
你的出发器是在后台数据库里运行的。你的client不刷新的话当然是不会有结果的更新的。
但是DELPHI提供了一些计算字段的控件,直接放置在client端就可以了。
 
触发器的情况,我没有遇到过,不过计算字段的情况我遇到过,似乎与Cache有关,有时有
有时又没有问题。
惆怅!
 
我的做法是:用ADOTABLE產生一個新的字段,用來顯示重量*單價,這樣 可即時顯示。
后台的金額自動(用公式或觸發器)更新
 
我做过类似的问题,没必要用触发器或存储过程,直接在前台的触发事件里编写就OK!!!
 
没必要用触发器,在beforepost中相乘也就可以了,这样可以保存.或是新增一个计算字段.这样不用保存结果
 
没有必要用触发器,在前台计算出金额,显示出来,用户保存时整体提交到后台。
使用的是缓冲技术,既满足用户要求,又提高效率!
 

Similar threads

D
回复
0
查看
2K
DelphiTeacher的专栏
D
D
回复
0
查看
911
DelphiTeacher的专栏
D
D
回复
0
查看
868
DelphiTeacher的专栏
D
D
回复
0
查看
840
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
后退
顶部