Вниз
Скачать: CL | DM;

AdoDataSet для работы c StoredProc   Найти похожие ветки 

 
Explorer   (2004-11-09 08:53) [0]

Мастера!
Подскажите, как правильно использовать AdoDataSet для работы c StoredProc (какие функции) и как узнать Return_Value от сервера?

При использовании ADOStoredProc делал так:
   with DataModuleMashteh.ADOStoredProcOrg do
   begin
     Close;
     Parameters.ParamByName("@type").Value               := TypeOrg;
     Parameters.ParamByName("@IDUser").Value             := UserCron;
     Parameters.ParamByName("@OrganizName").Value        := DBEditNameOrg.Text;
     Parameters.ParamByName("@ERR").Value              := 1;
     Prepared;
     ExecProc;

     if(Parameters.ParamByName("@Err").Value=1) then
     begin
        MessageDlg("Error",mtError, [mbOk], 0);
     end
     else begin
       MessageDlg("Update",mtInformation, [mbOk], 0);
     end;
   end;

Но в AdoDataSet видать это делается по другому, а инфы мало.


 
Explorer   (2004-11-09 21:48) [1]

Никто не использует для работы с хранимыми процедурами?


 
sniknik ©   (2004-11-09 22:29) [2]

не, лень просто. ты скажи как не получается вот тогда и поговорим.
а то получается ты инфы не нашол а мне главы из книги переписывать?


 
Explorer   (2004-11-09 23:05) [3]

А чего в вопросе не понятно?
Надо отправить параметры в хранимую процедуру и получить от нее результат.
Как это делаю в ADOStoredProc я описал, а вот как это сделать в ADODataSet при использовании CommandType = cmdStoredProc ?


 
sniknik ©   (2004-11-09 23:35) [4]

ну а на шаг дальше? ADOStoredProc это тот же ADODataSet только сильно урезанный

вот он, весь ;о)

 TADOStoredProc = class(TCustomADODataSet)
 public
   constructor Create(AOwner: TComponent); override;
   procedure ExecProc;
 published
   property CommandTimeout;
   property DataSource;
   property EnableBCD;
   property ProcedureName: WideString read GetCommandText write SetCommandText;
   property Parameters;
   property Prepared;
 end;

constructor TADOStoredProc.Create(AOwner: TComponent);
begin
 inherited Create(AOwner);
 Command.CommandType := cmdStoredProc;
 Command.CommandTextAlias := "ProcedureName"; { Do not localize }
end;

procedure TADOStoredProc.ExecProc;
begin
 InitializeMasterFields(Self);
 Command.Execute;
end;


и как думаеш что дальше делать надо, в отличии от ADOStoredProc?



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.028 c
1-1101133232
ЛёхА
2004-11-22 17:20
2004.12.05
Скриптовой Язык


1-1100881842
VitGun
2004-11-19 19:30
2004.12.05
"Invalid pointer operation" при закрытии.


10-1068639069
val_5
2003-11-12 15:11
2004.12.05
TDataSetProvider.OnUpdateError


1-1100671490
Дмитрий В. Бельеквич
2004-11-17 09:04
2004.12.05
Дайте, плиз, линк на патч 7.1


1-1100802846
Sniper-Max
2004-11-18 21:34
2004.12.05
Edit и удобный ввод времени... Как это сделать?




   Наверх