Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
2-1305792448
Артур
2011-05-19 12:07
2011.09.04
Сохранение наследника TPersistent


2-1305694815
samalex2504
2011-05-18 09:00
2011.09.04
Ошибка конвертирования данных из Excel в тип Data


2-1305724542
Соня
2011-05-18 17:15
2011.09.04
Insert into БД SQL Server с помощью ADOQuery.SQL


15-1305318604
Юрий
2011-05-14 00:30
2011.09.04
С днем рождения ! 14 мая 2011 суббота


1-1265458376
LightGreen
2010-02-06 15:12
2011.09.04
Субклассинг контрола





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский