Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Мастера! Запись не всегда удаляется с первого раза... [D6, IB6.x]


Брат ©   (2002-11-26 14:57:00) 

Имеется следующий код:
...
procedure Tfrm1.RxSpeedButton1Click(Sender: TObject);
begin
IBTable1.FetchAll;
if IBTable1.RecordCount>0 then
if MessageDlg("Delete?",
mtConfirmation, [mbYes, mbNo], 0) = mrYes then
IBTable1.Delete;
end;
...
Почему запись не хочет удаляться с первого раза?


Max Zyuzin   (2002-11-26 17:17:00) [1]

>Брат © (26.11.02 16:22)
Читай мой пост... (26.11.02 15:35)
В случае исключения добавь какое нить матерное выражение...

>Johnmen © (26.11.02 16:34)
В некоторых случаях, это безусловно оправдано.... (особенно если обещают уволить :)))


Johnmen   (2002-11-26 16:34:00) [2]

>Max Zyuzin © (26.11.02 16:14)

Через отдельные, конечно, более надежно и прозрачно.
Но если надо быстро ввести много записей (напр.девочка сидит и набивает заказы, и если она не введет 60 заказов за 10 мин., то будет уволена :-)), на помощь приходит редактируемый с помощью грида НД (а через форму - долго). [все сказанное проверено практикой].


Брат   (2002-11-26 16:22:00) [3]

Ребята! Еще вопрос: задан индекс. Как отловить исключение, которое вызывается, когда я ввожу одинаковые данные?


Max Zyuzin   (2002-11-26 16:14:00) [4]

>Johnmen © (26.11.02 16:03)
:) Это конечно да, но я обычно не даю юзверям править что либо прямо в Grid-е я для этого отдельные формочки делаю...


Johnmen   (2002-11-26 16:03:00) [5]

>Max Zyuzin © (26.11.02 15:53)

+ очень полезно TIBDataSet для редактируемых НД...


Max Zyuzin   (2002-11-26 15:53:00) [6]

Причин много... :)
ИМХО ими пользоваться не удобно, если надо отобразить какой нить сложный запрос с выборкой из нескольких таблиц... Table пасует.... Я обычно пользуюсь только TQuery...


Брат   (2002-11-26 15:40:00) [7]


> И кроме того не пользуйся компонентами IBTable...

а почему?
какими лучше пользоваться?


Max Zyuzin   (2002-11-26 15:35:00) [8]

Делать надо примерно так...
MyIBTransaction.StartTransaction;
try
IbTable1.Delete;
MyIBTransaction.Commit;
except
MyIBTransaction.Rollback;
ebd;


Брат   (2002-11-26 15:33:00) [9]


> А как же транзакции ??? Видимо у тебя по умолчанию происходит
> Rollback...

Может поставить StartTransaction? Только с какими опциями?


Max Zyuzin   (2002-11-26 15:33:00) [10]

И кроме того не пользуйся компонентами IBTable...


Johnmen   (2002-11-26 15:25:00) [11]

А как же транзакции ??? Видимо у тебя по умолчанию происходит Rollback...


Брат   (2002-11-26 15:15:00) [12]


> Не хочет удаляться где - в НД или в реальной таблице ?

Вот именно. В наборе удаляется, а в БД нет.

> И как ты узнал про нехотение ?

Выполняю удаление, выхожу из программы. Затем запускаю опять программу - запись остается


Johnmen   (2002-11-26 15:09:00) [13]

Не хочет удаляться где - в НД или в реальной таблице ?
И как ты узнал про нехотение ?


Наверх

Титульная страница Поиск, карта сайта Написать письмо