X
xin92002
Unregistered / Unconfirmed
GUEST, unregistred user!
问题描述:利用delphi调用MS SQL存储过程pj_nodel对MS SQL不同表中的相同数据进行批量删除··经测试 可以实现删除 记录的问题··但有如下问题问题一:我用delphi调用该存储过程 ,该存储过程执行成功(对表中的数据成功处理完成)的话 我希 望 在delphi中有数据处理成功的提示,否则则给出"给出的参数不符合要求"但我的不管存储过程是否删掉记录了 都有成功的提示delphi程序procedure TForm2.BitBtn1Click(Sender: TObject);beginADOStoredProc1.ProcedureName:='pj_nodel';/存储过程名pj_nodelcombobox1.Enabled:=true; edit1.Enabled:=true; edit2.Enabled:=true; bitbtn1.Caption:='确定生成';if messagebox(0,'确定输入相关信息','正在输入',mb_yesno or mb_iconquestion)=id_yes then if (edit1.text<>'') and (edit2.Text<>'') then with ADOQuery1 do begin close; sql.Clear; SQL.Add('execute pj_nodel pj_noqishi,pj_nozhongzhi'); ADOQuery1.Parameters.ParamByName('@pj_noqishi').Value:=edit1.Text;/为存储过程的参数赋值 ADOQuery1.Parameters.ParamByName('@pj_nozhongzhi').Value:=edit2.Text; try ExecSQL; messagebox(0,'票据记录删除成功!~','恭喜',mb_ok);/ 不管edit1和edit2我输入任何东西 都会出现 票据记录删除成功的提示,我希望是数据不符合要求处理应该不会成功 应该给予失败的提示 form2.Close; form2.Show; except messagebox(0,'票据记录删除失败','对不起',MB_ICONINFORMATION); exit; end; end else begin messagebox(0,'没有输入相关信息','提示',mb_yesno or mb_iconquestion); end;end;2:MS SQL存储过程 if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pj_nodel]') and OBJECTPROPERTY(id, N'IsProcedure') = 1)drop procedure [dbo].[pj_nodel]GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GOCREATE procedure pro_del @pj_noqishi int, @pj_nozhongzhi int as begin delete from tb_pj0 where pj_no>=@pj_noqishi and pj_no<=@pj_nozhongzhi delete from tb_pj9 where pj_no>=@pj_noqishi and pj_no<=@pj_nozhongzhi delete from tb_pj_mx where pj_no>=@pj_noqishi and pj_no<=@pj_nozhongzhi delete from tb_pj_mx0 where pj_no>=@pj_noqishi and pj_no<=@pj_nozhongzhi endGOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO请问该问题应该如何解决