请问各位师傅!在IB里如何实现字段之间的自动计算???

sunzhiying888 2003-08-01 09:19:18
请问各位师傅!在IB里如何实现字段之间的自动计算???
****字段1=(字段3/字段2)-字段4**********??
谢谢
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
erickleung 2003-08-04
  • 打赏
  • 举报
回复
用SQL :

ALTER TABLE MyTable
ADD Field1 COMPUTED BY (Field2/Field3 - Field4)

为了保险, 不要以中文字命名字段, 免去日後的麻烦.
tcs 2003-08-03
  • 打赏
  • 举报
回复
在数据库里用触发器吧。
Acquarius 2003-08-02
  • 打赏
  • 举报
回复
可以定义计算字段。
WhbtomT 2003-08-02
  • 打赏
  • 举报
回复
好象没有人回你的贴。我也是新手,深知别人不肖回答的常常是新手最需要的。所以碰巧我知道这一点,希望对你有用。
可以有两种方法来解决。
一、 在Delphi里,假设字段为aa,bb,cc,dd可以这样写
Table1.Edit;
Table1.FieldByName(‘aa’).AsInteger:= Table1.FieldByName(‘bb’).AsInteger+ Table1.FieldByName(‘cc’).AsInteger+ Table1.FieldByName(‘dd’).AsInteger;
Table1.Post;
但这样写显得语句太长,不好看,改用变量赋值的方式:
Var
vAa,vbb,vcc,vdd:Integer;
Begin
vbb:= Table1.FieldByName(‘bb’).AsInteger;
vcc:= Table1.FieldByName(‘cc’).AsInteger;
vdd:= Table1.FieldByName(‘dd’).AsInteger;
Table1.Edit;
Table1.FieldByName(‘aa’).AsInteger:=vbb+vcc+vdd;
Table1.Post;
End;
二、 用sql
只看不写回
begin
IBQuery1.Close;
IBQuery1.Sql.Clear;
IBQuery1.Sql.Add(‘select bb+cc+dd as aa from Table1’);
IBQuery1.Open;
End;
三、第一种方法中只处理一条记录,要处理整个表,用一个循环就可以了。

2,208

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 其他数据库
社区管理员
  • 其他数据库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧