表1:f_leixin 字段:leixin(类型) yti(存入统计类型结果)
表2:tk 字段:t11(类型)
begin
adotable2.Open;
adotable2.edit;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.Add('update f_leixin set yti=(select count(*) from tk where ''+f_leixin.leixin+'' like ''+tk.t11+'' )');
adoquery2.Open;
end;执行时系统提示:
“operation must use an updateable query”为什么????
怎么能把tk表的条件做为f_leixin表的条件?
如果我没理解错的话,应该是
begin
adotable2.Open;
adotable2.edit;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.Add('update f_leixin set yti=(select count(*) from tk) where ''+f_leixin.leixin+'' like ''+tk.t11+'');
adoquery2.execsql;
end;
“operation must use an updateable query”为什么????
adotable2.Open;
adotable2.edit;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.Add('update f_leixin set yti=(select count(*) from tk) where '+f_leixin.leixin+' like '''+tk.t11+''');
adoquery2.execsql;
end;
应该没错!
begin
adotable2.Open;
adotable2.edit;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.Add('update f_leixin set yti=(select count(*) from tk) where '+leixin+' like '''+tk.t11+''');
adoquery2.execsql;
end;
假设adotable2对应tk表.
var i:string;
begin
adotbale2.open;
i:=adotbale2.fieldbyname('tll').value;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.Add('update f_leixin set yti=(select count(*) from tk) where '+leixin+' like '''+i+''');
adoquery2.execsql;end;
程序可以运行但是没有统计结果加了上一句还是老样子帮我帮我吧。
你的代码是要更新f_leixin表的记录,你还想干什么?
begin
adotbale2.open;
i:=adotbale2.fieldbyname('tll').value;
adoquery2.Close;
adoquery2.SQL.Clear;
adoquery2.sql.Add('update f_leixin set yti=(select count(*) from tk) where '+leixin+' like '''+i+''');
adoquery2.execsql;
adoquery2.sql.clear;
adoquery2.sql.add('select * from f_leixin');
adoquery2.open;
end;
返回f_leixin表的所有记录
我帮你看看
adoquery2.sql.Add('update f_leixin set yti=(select count(*) from tk where f_leixin.leixin like tk.t11 )');
程序可以执行但是F-LEIXIN表里没有统计的数据
luckyboy97(幸运男孩) ( :
你有QQ吗我发给你: