Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2011.09.04;
Скачать: [xml.tar.bz2];

Вниз

не работает 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
2-1305708984
test2
2011-05-18 12:56
2011.09.04
округление


2-1305269551
ixen
2011-05-13 10:52
2011.09.04
DBGridEh и отображение содержимого BLOB поля


8-1215855784
AlexanderMS
2008-07-12 13:43
2011.09.04
Программа вылетает на команде IGraphBuilder.RenderFile


15-1305711559
Омлет
2011-05-18 13:39
2011.09.04
Недопустимые символы в названии файла


15-1303279486
Inovet
2011-04-20 10:04
2011.09.04
Фильм "Generation П" кто-нибудь уже видел?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский