系统提示
---------------------------
Debugger Exception Notification
---------------------------
Project Re.exe raised exception class EAccessViolation with message 'Access violation at address 4DD419E8 in module 'msado15.dll'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
SP_Percent.ExecProc;//第二遍,在这个地方就出错
procedure TFrm_RP.Btn_AppPercentClick(Sender: TObject);
var
Str_Path,Str_RPFile:string;
Str_DeptName:string;
begin
inherited;
try
try with DM do
begin SP_Percent.Close; //通过存储过程来调用
SP_Percent.ProcedureName :='P_AppointPercent';
SP_Percent.Parameters.Clear;
SP_Percent.Parameters.Refresh;
SP_Percent.Parameters.ParamByName('@S_BeginTime').Value := DTP_Begin.Date;
SP_Percent.Parameters.ParamByName('@S_EndTime').Value := DTP_End.Date;
SP_Percent.Parameters.ParamByName('@DeptID').Value := '25';
SP_Percent.Parameters.ParamByName('@AllDept').Value := 1;
SP_Percent.Parameters.ParamByName('@CountApp').Value := -1;
SP_Percent.Parameters.ParamByName('@CountAppYse').Value := -1;
SP_Percent.Parameters.ParamByName('@CountAppNo').Value := -1;
SP_Percent.ExecProc;//第二遍,在这个地方就出错 Str_Path:= ExtractFilePath( Application.ExeName );
Str_RPFile := Str_Path + 'rp\AppPercent.rmf';
RMDBDataSet_DM.DataSet := SP_Percent;
RMReport_DM.LoadFromFile(Str_RPFile); RMReport_DM.PrepareReport();
RMReport_DM.ShowReport;
end; except
on E:Exception do
begin
Write_LogErr(FinalUnit+'0004:打印赴约图表',IntToStr(E.HelpContext)+':'+E.Message,'');
end;
end;//end except finally
DM.SP_Percent.Close;
end;//end finallyend;
---------------------------
Debugger Exception Notification
---------------------------
Project Re.exe raised exception class EAccessViolation with message 'Access violation at address 4DD419E8 in module 'msado15.dll'. Read of address 00000000'. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------
SP_Percent.ExecProc;//第二遍,在这个地方就出错
procedure TFrm_RP.Btn_AppPercentClick(Sender: TObject);
var
Str_Path,Str_RPFile:string;
Str_DeptName:string;
begin
inherited;
try
try with DM do
begin SP_Percent.Close; //通过存储过程来调用
SP_Percent.ProcedureName :='P_AppointPercent';
SP_Percent.Parameters.Clear;
SP_Percent.Parameters.Refresh;
SP_Percent.Parameters.ParamByName('@S_BeginTime').Value := DTP_Begin.Date;
SP_Percent.Parameters.ParamByName('@S_EndTime').Value := DTP_End.Date;
SP_Percent.Parameters.ParamByName('@DeptID').Value := '25';
SP_Percent.Parameters.ParamByName('@AllDept').Value := 1;
SP_Percent.Parameters.ParamByName('@CountApp').Value := -1;
SP_Percent.Parameters.ParamByName('@CountAppYse').Value := -1;
SP_Percent.Parameters.ParamByName('@CountAppNo').Value := -1;
SP_Percent.ExecProc;//第二遍,在这个地方就出错 Str_Path:= ExtractFilePath( Application.ExeName );
Str_RPFile := Str_Path + 'rp\AppPercent.rmf';
RMDBDataSet_DM.DataSet := SP_Percent;
RMReport_DM.LoadFromFile(Str_RPFile); RMReport_DM.PrepareReport();
RMReport_DM.ShowReport;
end; except
on E:Exception do
begin
Write_LogErr(FinalUnit+'0004:打印赴约图表',IntToStr(E.HelpContext)+':'+E.Message,'');
end;
end;//end except finally
DM.SP_Percent.Close;
end;//end finallyend;
SP_Percent.Parameters.Clear;
SP_Percent.Parameters.Refresh;
試試
還有你的存儲過程是做某些動作還是返回數據集,返回數據集的話一般用Active:=True;,做類似update,insert動作就用ExecProc