ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('Update PO set title=Replace(title,:STR,:STR1)'); ADOQuery2.Parameters.ParamByName('str').Value := edit8.Text; ADOQuery2.Parameters.ParamByName('str1').Value := edit7.Text; ADOQuery2.Open;出现表达示函数Replace没定义
ADOQuery2.Close; ADOQuery2.SQL.Clear; ADOQuery2.SQL.Add('Update PO set title=Replace(title,:STR,:STR1)'); ADOQuery2.Parameters.ParamByName('str').Value := edit8.Text; ADOQuery2.Parameters.ParamByName('str1').Value := edit7.Text; ADOQuery2.Open; ----------->ADOQuery2.ExecSql
还是一样出现表达示函数Replace没定义
看了下,access 的SQL中没有replace函数,只在Access环境中有。 只能另外变通处理了给个简单处理的,查询出来后,处理,再写入更新。异常处理和一些数据完整性判断等你可以自己加上begin with adoquery1 do begin close; sql.clear; sql.add('select title from PO order by 字段'); open; end; while not adoquery1.Eof do begin adoquery1.Edit; adoquery1.FieldByName('name').AsString:=StringReplace(adoquery1.FieldByName('name').AsString,'string','字符',[rfReplaceAll]); adoquery1.Post; adoquery1.Next; end; end;
Update PO set title=Replace(title,'STR','STRING')
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Update PO set title=Replace(title,:STR,:STR1)');
ADOQuery2.Parameters.ParamByName('str').Value := edit8.Text;
ADOQuery2.Parameters.ParamByName('str1').Value := edit7.Text;
ADOQuery2.Open;出现表达示函数Replace没定义
ADOQuery2.SQL.Clear;
ADOQuery2.SQL.Add('Update PO set title=Replace(title,:STR,:STR1)');
ADOQuery2.Parameters.ParamByName('str').Value := edit8.Text;
ADOQuery2.Parameters.ParamByName('str1').Value := edit7.Text;
ADOQuery2.Open; ----------->ADOQuery2.ExecSql
只能另外变通处理了给个简单处理的,查询出来后,处理,再写入更新。异常处理和一些数据完整性判断等你可以自己加上begin
with adoquery1 do
begin
close;
sql.clear;
sql.add('select title from PO order by 字段');
open;
end;
while not adoquery1.Eof do
begin
adoquery1.Edit;
adoquery1.FieldByName('name').AsString:=StringReplace(adoquery1.FieldByName('name').AsString,'string','字符',[rfReplaceAll]);
adoquery1.Post;
adoquery1.Next;
end;
end;
adoquery1.FieldByName('name').AsString:=StringReplace(adoquery1.FieldByName('name').AsString,'str','string',[rfReplaceAll]);