关于表的字段的修改问题? 我用的是ADO连接到ACCESS数据库,假设一个表有三个字段a,b,c:a,b两个字段是自己直接录入的,c字段是由a,b字段计算得出的,现在我想通过修改a,b字段然后写到数据库中后,c字段能够自动更新,不知道该怎么实现呢? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 使用计算字段ADOQuery 双击 添加计算字段然后 写入如下代码procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);begin dateset.fieldbyname('c').asfloat:=dateset.fieldbyname('a').asfloat+dateset.fieldbyname('b').asfloat;end; 不知道Access有没有触发器,有的话就很好办了,如果没有,只能从前台控制了。就是在插入的时候:insert into table (a,b,c)values (x,y,x+y)修改的时候:update table set a=x,b=y,c=x+y where ... 我用的adodataset控件。在adodataset的a,b两个字段的onchange 或者settext事件里计算出c字段的值。楼上说的方法效率不是很高,而且不太灵活。 access如果有触发器的话,那 microsoft就不用出Sql Server了。 这样子: 在AdoDataSet对应的DataSource的OnDataSource事件中写下: dateset.fieldbyname('c').asfloat:=dateset.fieldbyname('a').asfloat+dateset.fieldbyname('b').asfloat; 在ADOQUERY的BEFOREPOST中加入你的修改. delphi能否遍历未打开的mdi子窗体里面的控件? 想实现打印报表是一张表格结构,有什么办法或控件? Inside VCL第1-3章 为什么?报表可以预览但是却打印不出东西来? delphi的界面按我提供的效果图来制作,我愿意付费请人帮忙。 什么是内存泄漏? 在列举局域网资源的时候速度很慢,有什么解决方法吗? 公共窗体 在线等...求救.XP下DELPHI7未响应....帮帮我,谢谢啦~ 关于DHTMLEdit 善意的拉拢!!!!呵呵!!!! 请教统计方法
ADOQuery 双击 添加计算字段
然后 写入如下代码
procedure TForm1.ADOQuery1CalcFields(DataSet: TDataSet);
begin
dateset.fieldbyname('c').asfloat:=dateset.fieldbyname('a').asfloat+dateset.fieldbyname('b').asfloat;
end;
如果没有,只能从前台控制了。就是在插入的时候:
insert into table (a,b,c)
values (x,y,x+y)
修改的时候:
update table set a=x,b=y,c=x+y where ...
在adodataset的a,b两个字段的onchange 或者settext事件里计算出c字段的值。
楼上说的方法效率不是很高,而且不太灵活。
在AdoDataSet对应的DataSource的OnDataSource事件中写下:
dateset.fieldbyname('c').asfloat:=dateset.fieldbyname('a').asfloat+dateset.fieldbyname('b').asfloat;