//-------存在则修改,不存在则添加 procedure TForm1.Button1Click(Sender: TObject); begin query1.SQL.Clear; query1.SQL.Add('update tt set code=''a'' where dd=''3'''); query1.SQL.Add('if @@rowcount=0'); query1.SQL.Add(' insert into tt values (''a'',''3'') '); query1.ExecSQL; end;
先做判断吧。 select 1 from kk where id=1 and oo='lll' if ado.isempty then //没有找到此记录,不可能更改 else //此记录可以更改 begin ado.sql.add('update kk set name=''uuuu'' where id=1 and oo='lll''); ado...; ... end;
create trigger tr_temp on 表 for update as begin select * from inserted if @@rowcount>0 print('已修改数据') else print('未修改数据') end 楼主也可用一个 boolean或 "0" 和 "1" 通过传递参数来判断
TO jinjazz(人雅的标记--落寞刺客) 如果找到记录就修改,没有修改就提示,什么做???
修改调试选项:tools/debuger options/,在language exceptions页 上去掉stop on delphi Exceptions选项procedure TForm1.Button1Click(Sender: TObject); begin query1.SQL.Clear; query1.SQL.Add('update t1 set dz2=''c'' where dz1=4') ; query1.ExecSQL; query1.SQL.Clear; query1.SQL.Add('if @@rowcount=0 RAISERROR(''没有记录更改'',16,1)'); try query1.ExecSQL; except showmessage('没有记录更改'); end; end;
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.SQL.Clear;
query1.SQL.Add('update tt set code=''a'' where dd=''3''');
query1.SQL.Add('if @@rowcount=0');
query1.SQL.Add(' insert into tt values (''a'',''3'') ');
query1.ExecSQL;
end;
select 1 from kk where id=1 and oo='lll'
if ado.isempty then //没有找到此记录,不可能更改
else //此记录可以更改
begin
ado.sql.add('update kk set name=''uuuu'' where id=1 and oo='lll'');
ado...;
...
end;
for update
as
begin
select * from inserted
if @@rowcount>0
print('已修改数据')
else
print('未修改数据')
end
楼主也可用一个 boolean或 "0" 和 "1" 通过传递参数来判断
如果找到记录就修改,没有修改就提示,什么做???
上去掉stop on delphi Exceptions选项procedure TForm1.Button1Click(Sender: TObject);
begin
query1.SQL.Clear;
query1.SQL.Add('update t1 set dz2=''c'' where dz1=4') ;
query1.ExecSQL;
query1.SQL.Clear;
query1.SQL.Add('if @@rowcount=0 RAISERROR(''没有记录更改'',16,1)');
try
query1.ExecSQL;
except
showmessage('没有记录更改');
end;
end;