2,497
社区成员
发帖
与我相关
我的任务
分享
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='update table1 set sign=:Sign';
Parameters.ParamByName('Sign').Value:=Trim(Edit1.Text) ;
Memo1.Lines.Add(SQL.Text) ;
ExecSQL;
end;
update table1 set sign=:Sign
update table1 set sign='1001'
with ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Text:='update table1 set sign=''' + Trim(Edit1.Text) + '''';
Memo1.Lines.Add(SQL.Text) ;
ExecSQL;
end;
直接这样不可以么?ExecSQL
的时候是属于哪类呢。不是INSERT/EDIT/DELETE/POS 。[/quote]
你先写在BeforeOpen里面试下,看会不会Show出来。ExecSQL
的时候是属于哪类呢。不是INSERT/EDIT/DELETE/POS 。
procedure TfmMain.ADOQuery1BeforeOpen(DataSet: TDataSet);
var
i: integer;
s: string;
begin
s := ADOQuery1.SQL.Text;
for i := 0 to ADOQuery1.Parameters.Count - 1 do
begin
//if ADOQuery1.Parameters.Items[i].DataType = ftString then
s := StringReplace(s, ':' + ADOQuery1.Parameters.Items[i].Name, '''' + ADOQuery1.Parameters.Items[i].Value + '''', [rfReplaceAll, rfIgnoreCase]);
end;
ShowMessage(s);
end;