数据库1
字段名 公式
应发合计 adoquery1.FieldValues['基本工资']*10000+adoquery1.FieldValues['提成']数据库2
姓名 基本工资 提成 应发合计
test 10 20 0以上数据库字段都是char和float类型我的全部程序是这样的
var i:integer;
s_field,s_cal:string;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from wage');
adoquery1.Open;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select * from cal');
while not adoquery2.Eof do
begin
s_field:=adoquery2.FieldByName('字段名').AsString;
s_cal:=adoquery2.fieldbyname('公式').AsString;
while not adoquery1.Eof do
begin
adoquery1.Edit;
adoquery1.FieldByName(s_field).Value:=s_cal;
adoquery1.UpdateRecord;
adoquery1.Next;
end;
adoquery2.Next;
end;
showmessage('成功');
end;错误提示:
'adoquery1.FieldValues['基本工资']*10000+adoquery1.FieldValues['提成']'is not a valid floating point value一共2个数据库 大哥们能看懂什么意思吗?
请大家帮帮忙!!!谢谢谢谢!!!万分感谢!! 还有一个小问题!
如果将光标移到memo1最后
字段名 公式
应发合计 adoquery1.FieldValues['基本工资']*10000+adoquery1.FieldValues['提成']数据库2
姓名 基本工资 提成 应发合计
test 10 20 0以上数据库字段都是char和float类型我的全部程序是这样的
var i:integer;
s_field,s_cal:string;
begin
adoquery1.Close;
adoquery1.SQL.Clear;
adoquery1.SQL.Add('select * from wage');
adoquery1.Open;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.SQL.Add('select * from cal');
while not adoquery2.Eof do
begin
s_field:=adoquery2.FieldByName('字段名').AsString;
s_cal:=adoquery2.fieldbyname('公式').AsString;
while not adoquery1.Eof do
begin
adoquery1.Edit;
adoquery1.FieldByName(s_field).Value:=s_cal;
adoquery1.UpdateRecord;
adoquery1.Next;
end;
adoquery2.Next;
end;
showmessage('成功');
end;错误提示:
'adoquery1.FieldValues['基本工资']*10000+adoquery1.FieldValues['提成']'is not a valid floating point value一共2个数据库 大哥们能看懂什么意思吗?
请大家帮帮忙!!!谢谢谢谢!!!万分感谢!! 还有一个小问题!
如果将光标移到memo1最后
直接给个公司就会帮你算出来,你的s_cal是字符串来了,
你的这代码翻译出来是
adoquery1.FieldByName(s_field).Value:='adoquery1.FieldValues[ '基本工资 ']*10000+adoquery1.FieldValues[ '提成 ']';
(注意引号)
他是不等价于你要的目的:
adoquery1.FieldByName(s_field).Value:=adoquery1.FieldValues[ '基本工资 ']*10000+adoquery1.FieldValues[ '提成 '];
数据库2
姓名 基本工资 提成 应发合计
test 10 20 0
大哥们都帮帮忙啊!!我难过死了!!