setLength(Str_sql,2);
str_Sql[0]:='undate DataSample_Avg'+timestr+' set 室内干球='+format('%f',[Data[0]]);
str_sql[1]:=' where 采集时间=''总平均值'' ';
RequestExe(str_sql);
procedure TDataStore.RequestExe(Str: array of string);
var
Qry: TADOQuery;
i: Integer;
begin
try
Qry:=TADOQuery.Create(nil);
Qry.Connection:=ADOConnection;
Qry.Active:=false;
Qry.sql.clear;
for i:=0 to High(str) do
begin
Qry.sql.add(Str[i]);
end;
try
// Qry.prepared:=true;
Qry.ExecSQL;
// Qry.Prepared;
//Qry.active:=true;
except
on EDatabaseError do ShowMessage('数据库访问出错');
end;
你用啥连接的数据库,是ADO还是BDE
where 采集时间=''总平均值'' 这里的就不对,应该 '''总平均值''' 这样才能出现引号
建议你这样写:
with adoquery1 do
begin
close;
SQL.text := 'undate DataSample_Avg'+timestr+' set 室内干球=:S where 采集时间='''总平均值'''';
parameters.parambyname('s') := 你要更改的内容;
ExecSql;
end;