如何向打开的adoquery的某个字段赋值? ( 积分: 200 )

  • 主题发起人 主题发起人 zhenglin611
  • 开始时间 开始时间
Z

zhenglin611

Unregistered / Unconfirmed
GUEST, unregistred user!
我用Adoquery访问Access数据库,先读出数据库中的数据,然后对这些数据进行一系列运算,得出结果,希望能把这个结果再写入数据表中,放在数据表其它字段的后面,记录指针再向下移动,即每条记录后面都要增加一个值,请高手指点如何实现?
 
修改表結構,更新您的結果至新增的那個字段
 
songrun:你好!我初学delphi,能否说详细点,或给个小例子!先表示感谢
 
如果计算方法都是一样的话,直接就可用一个SQL语句搞定,前提是字段已经存在,或者用个计算字段
前者如:
update yourtable set c=a+b
 
假设你的数据库有a,b字段。需要保存结果的字段是c.
adoquery1.close;
adoquery1.sql.text:='select a,b,c from tablename';
adoquery1.open;
repeat
'你的计算代码,
adoquery1.edit;
adoquery1.fieldbyname('C').asstring:=计算结果; //把结果存入数据库
adoquery1.post;
adoquery1.next;//移动到下一个字段
until adoquery1.eof;
 
to 壁画:你的方法可以实现,就是有点慢,我才一百多条记录,都会看到计算过程要闪烁很久!还是谢谢你,要是速度快点就好了!
 
如果你的计算可以使用sql语句实现就非常容易了。你可以说说你需要进行什么计算。
 
我的计算代码都有好几十行呢!SQL不容易吧
[:)]
 
我做的是工程计算,代码太长!那你能说一下计算结果写入数据表后,在DBGrid里怎么把这些计算出来的结果(理论值)用别的颜色标识出来吗?就是改变指定字段的颜色(dbgrid里),我有8个理论计算出来的字段。可把我难死了!
 
在DBGRID的ONDRAWDATACELL中写如下代码:
if gdselected in state then
begin
dbgrid1.Canvas.Brush.Color:=clred; //选中的单元格的颜色
dbgrid1.Canvas.FillRect(rect);
dbgrid1.Canvas.Pen.Color:=clwhite; //选中的单元格的字体颜色
dbgrid1.Canvas.TextOut(rect.left,rect.top,field.value);
end;
 
谢谢壁画,虽然没有达到改变颜色的目的,只能说谢谢了!
 
为大家都贡献点!
 
后退
顶部