![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Мастера! Запись не всегда удаляется с первого раза... [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]Не хочет удаляться где - в НД или в реальной таблице ?
И как ты узнал про нехотение ?