adoquery1.close; adoquery1.sql.clear; adoquery1.sql.add('update table1 set field1=field11+5'); adoquery1.execsql;
你用计算字段来代替原来字段,将table的active设为True,双击你的table, 把所有的字段添加进来,然后将table 的active设为False,双击table, 点右键,建立一个计算字段, 名称,类型,计算类型 在table的oncalculate事件里写 table1.fieldbyname('计算字段').asinteger:=table1.fieldbyname('原字段').asinteger+5;如果你用adoquery or query就更为简单了。select field+5 as field From Table
如果樓主的TABLE指表且你用的是query控件則Drate的方法可以把adoquery改为query即可,如果是adoquery..嘻嘻..就不必呢! 但若用table控件,那就编程实现了: TABLE.first; while not table.eof do begin table.fieldbyname(fieldname).asinteger:=table.fieldbyname(fieldname).asinteger+5; table.next; end;
of cource ,you should use the followed sentence : table.post;
1.如果给数据库的表字段加5,use adodataset1.commandtext:='update b1 set field1=field1+5'; adodataset1.execute; 2.如果给内存表当中的表字段加5,use table1.fieldbyname(field1).asinteger:=table.fieldbyname(field1).asinteger+5;
while not ADOTable1.eof do begin ADOTable1.Edit; ADOTable1['']:=ADOTable1['']+10; ADOTable1.next; end;
adoquery1.sql.clear;
adoquery1.sql.add('update table1 set field1=field11+5');
adoquery1.execsql;
但若用table控件,那就编程实现了:
TABLE.first;
while not table.eof do
begin
table.fieldbyname(fieldname).asinteger:=table.fieldbyname(fieldname).asinteger+5;
table.next;
end;
table.post;
adodataset1.commandtext:='update b1 set field1=field1+5';
adodataset1.execute;
2.如果给内存表当中的表字段加5,use
table1.fieldbyname(field1).asinteger:=table.fieldbyname(field1).asinteger+5;
begin
ADOTable1.Edit;
ADOTable1['']:=ADOTable1['']+10;
ADOTable1.next;
end;
Table1.FieldByName('数值'),Value := Table1.FieldByName('数值').AsInteger + 5;
Table1.Active := True;