就是一个简单的更新操作
执行到下面语句时就会弹出:EoleException 错误,在=附近有语法错误
我就是看不出来,高手指点一下!!!!!1111 str_Sql[0]:='undate DataSample_Avg'+timestr+' set 室内干球='+format('%f',[Data[0]]);
str_sql[1]:=' where 采集时间=''总平均值'' ';
RequestExe(str_sql);
执行到下面语句时就会弹出:EoleException 错误,在=附近有语法错误
我就是看不出来,高手指点一下!!!!!1111 str_Sql[0]:='undate DataSample_Avg'+timestr+' set 室内干球='+format('%f',[Data[0]]);
str_sql[1]:=' where 采集时间=''总平均值'' ';
RequestExe(str_sql);
where 采集时间=''总平均值'' 这里的就不对,应该 '''总平均值''' 这样才能出现引号建议你这样写:
with adoquery1 do
begin
close;
SQL.text := 'undate DataSample_Avg'+timestr+' set 室内干球=:S where 采集时间='''总平均值'''';
parameters.parambyname('s') := 你要更改的内容;
ExecSql;
end;
Data[0]:=Qry2.Fields[1].Asfloat;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; Finally
Qry.prepared:=false;
Qry.free;
end;
end;