下面的代码哪里错了,要怎么改
procedure TForm1.Button1Click(Sender: TObject);
var
a:array of string;
i,j:integer;
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select 品种 from tb ');
ADOQuery1.Open;
setlength(a,ADOQuery1.Recordcount);//设置数组宽度
i:=0;//初始化下标
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
a[i]:=ADOQuery1.FieldList[0].AsString;
Inc(i);
ADOQuery1.Next;
end;
if ADOQuery1.RecordCount>0 then
begin
for i:=0 to ADOQuery1.RecordCount-1 do
begin
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('update '+edit2.text+' set 总盈利 =(select sum ('+a[i]+') from '+edit1.Text+') where 品种='+quotedstr(a[i]));
ADOQuery1.ExecSQL;
ADOQuery1.Next;
end;
end;
end;
运行后错误提示是:sum 聚合函数不能以 varchar 类型作为参数