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

Delete from master-detail via stored procedure   Найти похожие ветки 

 
Гоша ©   (2001-12-17 13:54) [13]

Кажись, чуть-чуть разобрался... (Оно меня с ума сведет !)

Фича с "Connection is in use by another statement" исчезла после того, как я убрал StoredProc1.Prepare (и соотв. Unprepare) из событий DataBase1.AfterConnect (соотв. BeforeDisconnect).

Вот ведь блин ! Не надо, стало быть, читать всяческие умные советы в Help"ах насчет того, что-де, лучше это сделать самому, если-де предполагается исп-ть компонент неск-ко раз.

Почему-то в случае предварительного и явного (одноразового) Prepare выполнение StoredProc транслируется на сервер так (из SQL Monitor):

48 12:07:27 SQL Stmt: MSSQL - Close
49 12:07:27 SQL Prepare: MSSQL - a_del_zoom_loc_sp :1, :2,
50 12:07:27 SQL Data In: MSSQL - Param = 1, Name = , Type = fldINT32, Precision = 0, Scale = 0, Data = 26100
51 12:07:27 SQL Data In: MSSQL - Param = 2, Name = , Type = fldINT32, Precision = 0, Scale = 0, Data = 600
52 12:07:27 SQL Execute: MSSQL - a_del_zoom_loc_sp :1, :2,
и все !

А вот если не забивать себе голову ерундой и положиться на Борланда (дедушка умный! он сам сообразит насчет и Prepare и Unprepare), то тогда будет так:

48 11:52:20 SQL Prepare: MSSQL - a_del_zoom_loc_sp :1, :2,
49 11:52:20 SQL Data In: MSSQL - Param = 1, Name = , Type = fldINT32, Precision = 0, Scale = 0, Data = 26100
50 11:52:20 SQL Data In: MSSQL - Param = 2, Name = , Type = fldINT32, Precision = 0, Scale = 0, Data = 600
51 11:52:20 SQL Execute: MSSQL - a_del_zoom_loc_sp :1, :2,
52 11:52:20 SQL Stmt: MSSQL - Close //Вот этого и не хватало!
53 11:52:20 SQL Stmt: MSSQL - Close //Вот Connection и оставался in use!

Объясните, кто понимает, чего старичок (я) не сообразил.

А вот на закуску:
Я (наивный!) полагал, что если запись на сервере благополучно удалена, то визульно удалить ее в моем наборе не просто, а очень просто:

Query.Delete; //запишем в кэш как удаленную
Query.CommitUpdates; //очистим кэш

А вот фиг вам!!!
Знаете, что транслируется на сервер по команде CommitUpdates ?
Попытка выполнить команду DELETE...FROM...WHERE...!
Я не могу это откомментировать...

PS:Конечно, понимаю, что верный способ отобразить изменения через Close, Open. Но опять же, зачем огород городить...



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

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



Память: 0.45 MB
Время: 0.005 c
4-66405
Dimich
2001-11-10 13:31
2002.01.21
Прочитайте вопрос


3-66212
Andrey196
2001-12-18 23:32
2002.01.21
Обьесните мне толком что делает DBLookupComboBox, а то я немогу понять подходит ли он мне или нет?


1-66267
hacker
2002-01-01 21:48
2002.01.21
Обработка событий в дмнамически создаваемых компонентах


6-66334
Lamok
2001-10-24 17:09
2002.01.21
Tcp/ip


1-66259
Quest
2001-12-29 09:44
2002.01.21
Пропадает каретка в режиме редактирования ячейки TStringGrid




   Наверх