Текущий архив: 2011.09.04;
Скачать: CL | DM;
Вниз
не работает Append Найти похожие ветки
← →
fford (2010-01-18 13:01) [0]Здравствуйте!
подскажите почему вылетает ошибка при вызове Append
...
tat.UpdateTransaction.StartTransaction;
tat.Append;
tatID.AsInteger:=IdStati;
...
← →
Sergey13 © (2010-01-18 13:18) [1]> [0] fford (18.01.10 13:01)
> почему вылетает ошибка
Может форточка открыта? А ошибка на улицу хочет.
Что за ошибка то? И где вылетает?
← →
fford (2010-01-18 13:19) [2]немного не полностью написал
собственно
используется 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:33) [3]> [2] fford (18.01.10 13:19)
Что за ошибка то "вылетает"?
← →
fford (2010-01-18 13:41) [4]блок операторов стоял в try except
пожтому ошибку я не видел
щас убрал и ооочень удивился .....
не могу грит выполнить эту операцию на закрытом датасете :(
там нигде она не закрывается 8-()
← →
Sergey13 © (2010-01-18 13:49) [5]Я с FIBPlus не работал, но сомнительно мне что нужно на каждый чих явно стартовать транзакции.
← →
fford (2010-01-18 14:02) [6]
> сомнительно мне что нужно на каждый чих явно стартовать
> транзакции.
читая мануалы я так понял что если
параметр poStartTransaction поставить в false то я должен ручками управлять
транзакциями
я нашел где оно закрывалось
забыл что если сделать commit то закрываются все датасеты
← →
fford (2010-01-18 14:06) [7]т.е. получается все читающие транзакции можно объединить в одну транзакцию и стартовать её при запуске программы
а пишущую исключительно при записи новых данных? (ну и измененнии)
← →
Sergey13 © (2010-01-18 14:19) [8]> [7] fford (18.01.10 14:06)
В IBX я в 99% случаев пользуюсь всего одной транзакцией.
← →
fford (2010-01-18 14:22) [9]
> В IBX я в 99% случаев пользуюсь всего одной транзакцией.
зря :(
если сервер на винде то намана
а вот если на линукс
то он такого не прощает :)
← →
Sergey13 © (2010-01-18 14:53) [10]> [9] fford (18.01.10 14:22)
> то он такого не прощает
А чего "такого"?
← →
Виталий Панасенко (2010-01-18 18:06) [11]
> fford (18.01.10 14:22) [9]
ты лучше б написал, какой компонент: FIBDataSet или FIBQuery,. для первого таких извратов не нужно при двух транзакциях.. это раз.. для второго: ты используешь читающую транзакцию. потому, когда делаешь Commit, все датасеты закрываются..
← →
Виталий Панасенко(дом) (2010-01-18 21:16) [12]Хотя и ручной Commit для FIBDataSet читающей транзакции закроет все НД, ее использующие...
Страницы: 1 вся ветка
Текущий архив: 2011.09.04;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.003 c