|
|
|
StoredProc
|
|||
|---|---|---|---|
|
#18+
У меня есть такая хранимая процедура: " CREATE PROCEDURE dbo.PROCRoubli @PrPROCRoub varchar(20), @UserName varchar(50), @IdRegisterRoub int, @IdBag int, @Summa float, @IdSymbol int, @DateBag datetime, @PrDaysOff bit, @Route varchar(50), @FIORunner1 varchar(50), @FIORunner2 varchar(50), @DateReg datetime, @UserNameRecount varchar(50),@UserGlavKassir varchar(50), @UserNameControl varchar(50), @SummaRecount float, @Deficit float, @Surplus float, @IdBagRoub int, @DateRecount datetime, @UserNameChange varchar(50), @ERR int output AS BEGIN tran BagRoubli // первое условие if @PrPROCRoub='new' begin insert into RegisterRoub(id_registerroub, DateReg, UserName, Route, FIORunner1, FIORunner2) values (@idregisterroub, @DateReg, @UserName, @Route, @FIORunner1, @FIORunner2) end //второе условие if @PrPROCRoub='delete' begin Delete from BagWithRoub where id_bagrub=@IdBagRoub end if(@@error!=0) begin rollback tran BagRoubli select @ERR=1 end else begin select @ERR=0 commit tran BagRoubli end GO " Проблема в том, что второе условие почему-то отрабатывает, только тогда, когда отработало первое условие!! Т.е., по нажатию одной кнопки в приложении, идет вставка данных, по нажатию другой можно удалить эти данные. Если, данные вставил и закрыл приложение, то после нового запуска эти данные не нельзя удалить, пишет EDBEngineEror "Invalid parametr". А если, все делаю сразу, то все нормально! Вот так удалюю: " with DataModuleKassa.StoredProcRoubli do begin Close; ParamByName('@PrPROCRoub').AsString:='delete'; ParamByName('@IdBagRoub').AsInteger:=IdBagRoub; ParamByName('@ERR').AsInteger:=1; Prepare; ExecProc; if(ParamByName('@ERR').AsInteger=1) then begin MessageDlg('Сумка не была удалена! Попытайтесь еще раз!',mtError, [mbOk], 0); Close; end else begin MessageDlg('Сумка была удалена!',mtInformation, [mbOk], 0); Close; " Может все дело в транзакции? Подскажите? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 07:51:24 |
|
||
|
StoredProc
|
|||
|---|---|---|---|
|
#18+
Надо было записать тригеры - INSERT and DELETE. а так вроде все нормально, может это не соответствует тому что у тебя ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 08:49:09 |
|
||
|
StoredProc
|
|||
|---|---|---|---|
|
#18+
А уверены, что ошибка не на клиенте? Проверьте, чему равняется IdBagRoub после перезапуска программы перед попыткой удаления. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 09:36:57 |
|
||
|
StoredProc
|
|||
|---|---|---|---|
|
#18+
Ошибки в приложении нет... все данные передаются нормально... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2002, 13:43:19 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=3375&tid=1818730]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
31ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
35ms |
get tp. blocked users: |
1ms |
| others: | 194ms |
| total: | 300ms |

| 0 / 0 |
