我用ADOQuery从一个表里抓出来的数据显示在DBgrid中。然后对某个字段的数值做修改,我怎么能得到这个数值修改了多少呢?比如有三个字段A、B、C。我需要得到的结果是A、B、C+(A-B),并且要在DBGrid中体现出来可以么?。这个用DBGrid.fields[3].value:=???来做可以么?
解决方案 »
- 用 adoqyery update 错误了
- DBGRID问题
- 想看看JAVA ,哪位有JDK啊,最好是J2SEE,呵呵,请给我一份啊,我这下载不了啊
- 如何限制bordstytle=bssizeable的窗体的最小长宽??
- 这条语句哪里有错? if (trim(combox1.Text)='' and trim(combox2.Text)='') then
- 如何把string转化为Tcolor类型?
- report 打印出现半个汉字的问题
- delphi 能生成半透明边框的窗体吗?中间不透明,不想用整个窗体半透明+不透明panel弄
- 进程的优先权是什么意思?有什么用啊
- 求解,如图
- 前人留下的程序,有个地方不明白,高手帮忙看看!
- 转发所有按键?
好久没有用了,好像是这样的,试试吧!
好像是:
ADOQuery1C.value := ADOQuery1C.value+(ADOQuery1A.value+ADOQuery1B.value);
DBGrid.columns[3].fields=C+(A-B)
或者 ADOQuery.sql.text= 'select a, b, c+(A-B)as d from biao '
SELECT T2.*, T2.A-T1.A AS A_ADD, T2.B-T1.B AS B_ADD, T2.C-T1.C AS C-ADD FROM T1,T2
WHERE T2.ID=T1.ID将后面几个计算字段的READONLY=TRUE在DBGRID中显示这个ADOQUERY1,当有修改时,触发ADOQEURY1的AFTEREDIT事件,在事件中关闭再打开这个ADOQUERY1就可以了