一个数据库问题
在数据库UPDATA时怎样才能根据GETFIELD函数求出来的字段名,动态的修改该字段某一个值,例如,有的时候求出来的是FIELD1,有的时候FIELD2,我怎么才能QUERY里写SQL语句UPDATA某一个字段名的值。
dataa.query10.sql.add('update xxitongshouru set benyuefashenge=benyuefashenge+:jine,leijifashenge=leijifashenge+:jine,:fx=:fx+:jine');
dataa.query10.sql.add(' where kemumingcheng like :m');
下面有FX参数,其实这个参数的值就是字段名。
请各位高手多多指教。
问题点数:50、回复次数:7Top
1 楼dajianshi(拔剑四顾心茫然)回复于 2002-08-11 17:15:13 得分 0
直接字符串合成吧Top
2 楼taogou(下面?没有了)回复于 2002-08-11 17:16:19 得分 0
看不懂Top
3 楼liguochun(北京淳)回复于 2002-08-11 17:31:19 得分 0
具体怎么写
Top
4 楼cfag(星点点)回复于 2002-08-11 17:39:59 得分 0
先累加,然后再调用sql语句
var v1,v2,v3:extended;
v1:=0;v2:=0;v3:=0;
for ....
begin
v1:=v1+??;
v2:=v2+??;
.....
end;
with query do
begin
close;
sql.clear;
sql.add('update tablename set field1=:v1,field2=:v2,....');
params[0].asfloat:=v1;
params[1].asfloat:=v2;
.......
execsql;
end;
Top
5 楼nhdj(柳柳荷叶清清水)回复于 2002-08-11 17:53:30 得分 25
query1.sql.add('update tablename set ' + fieldname + ' = :value')
替换参数value为具体值即可Top
6 楼nhdj(柳柳荷叶清清水)回复于 2002-08-11 17:55:09 得分 25
用参数替换具体字段名是不可以的!Top
7 楼del_c_sharp(武林中传说的摩托牛拉)回复于 2002-08-11 18:47:52 得分 0
function(field,value:array of string):string;
begin
result:='update tablename set ';
for i:=1 to high(field) do
result:=result+field[i]+'='+value[i]+';';
end;Top




