![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
не работает Append
fford © (2010-01-18 13:01:00)Здравствуйте!
подскажите почему вылетает ошибка при вызове Append
...
tat.UpdateTransaction.StartTransaction;
tat.Append;
tatID.AsInteger:=IdStati;
...
Виталий Панасенко(дом) (2010-01-18 21:16:00) [1]Хотя и ручной Commit для FIBDataSet читающей транзакции закроет все НД, ее использующие...
Виталий Панасенко (2010-01-18 18:06:00) [2]
> fford (18.01.10 14:22) [9]
ты лучше б написал, какой компонент: FIBDataSet или FIBQuery,. для первого таких извратов не нужно при двух транзакциях.. это раз.. для второго: ты используешь читающую транзакцию. потому, когда делаешь Commit, все датасеты закрываются..
Sergey13 (2010-01-18 14:53:00) [3]> [9] fford (18.01.10 14:22)
> то он такого не прощает
А чего "такого"?
fford (2010-01-18 14:22:00) [4]
> В IBX я в 99% случаев пользуюсь всего одной транзакцией.
зря :(
если сервер на винде то намана
а вот если на линукс
то он такого не прощает :)
Sergey13 (2010-01-18 14:19:00) [5]> [7] fford (18.01.10 14:06)
В IBX я в 99% случаев пользуюсь всего одной транзакцией.
fford (2010-01-18 14:06:00) [6]т.е. получается все читающие транзакции можно объединить в одну транзакцию и стартовать её при запуске программы
а пишущую исключительно при записи новых данных? (ну и измененнии)
fford (2010-01-18 14:02:00) [7]
> сомнительно мне что нужно на каждый чих явно стартовать
> транзакции.
читая мануалы я так понял что если
параметр poStartTransaction поставить в false то я должен ручками управлять
транзакциями
я нашел где оно закрывалось
забыл что если сделать commit то закрываются все датасеты
Sergey13 (2010-01-18 13:49:00) [8]Я с FIBPlus не работал, но сомнительно мне что нужно на каждый чих явно стартовать транзакции.
fford (2010-01-18 13:41:00) [9]блок операторов стоял в try except
пожтому ошибку я не видел
щас убрал и ооочень удивился .....
не могу грит выполнить эту операцию на закрытом датасете :(
там нигде она не закрывается 8-()
Sergey13 (2010-01-18 13:33:00) [10]> [2] fford (18.01.10 13:19)
Что за ошибка то "вылетает"?
fford (2010-01-18 13:19:00) [11]немного не полностью написал
собственно
используется FIBPlus компоненты для доступа к базе firebird
создано две транзакции одна пишушая другая читающая
tat.transaction:=ReadTrans;
tat.UpdateTransaction:=WriteTrans;
далее открываем
tat.Transaction.StartTransaction;
tat.Open;
.....
тут читаются данные из таблицы
....
tat.UpdateTransaction.StartTransaction;
tat.Append;
....
т.е. непонятно если стоит параметр poStartTransaction:=False;
то для добавления записи в таблицу её надо открыть и стартовать updatetransaction в ручную, но если таблиц уже открыта и из нее уже читаются данные то добавить запись невозможно без переоткрытия таблицы?
Sergey13 (2010-01-18 13:18:00) [12]> [0] fford (18.01.10 13:01)
> почему вылетает ошибка
Может форточка открыта? А ошибка на улицу хочет.
Что за ошибка то? И где вылетает?