powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FIBPlus программная вставка записи
9 сообщений из 9, страница 1 из 1
FIBPlus программная вставка записи
    #32394605
mkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
что то не особо получается. делаю так
pFIBTransaction2.StartTransaction;
pFIBDataSet.Append;
<Заполняю поля>
pFIBDataSet.Post ;
if <...> then
pFIBTransaction2.CommitRetaining
else
pFIBTransaction2.RollbackRetaining;

pFIBTransaction2 стоит как UpdateTransaction в pFIBDataSet
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32394818
Voha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>>что то не особо получается
в смысле, ошибку выдает, какую?
скрипты на вставку, обновления , удаление записей в ДС прописал?
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32394941
mkr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Скрипты есть. дело в том что оно в любом случае добовляет запись. а после перезагрузки программы в базе изменений как небывало.
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32394995
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какие параметры транзакций?

И, если не трудно, зачем xxxRetaining ?
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32394999
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...и еще: в
if <...> then
pFIBTransaction2.CommitRetaining
else
pFIBTransaction2.RollbackRetaining;
...

до
pFIBTransaction2.CommitRetaining
дело доходит?
В отладчике что?
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32395350
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2mkr:
Может кеширование включено, тогда его до подтверждения транзакции сбросить надо.


2 ВСЕМ (немножко не по этой теме, но тоже про вставку :) ):
А если надо просто запросом "INSERT ... INTO..." сделать, то можно ли обойтись без TQuery, т.е. чтоб в FIBDataSet'e это делалось?
А то, похоже, в FIBDataSet должен быть сначала открыт набор данных, а потом в него можно уже INSERT или UPDATE запускать...
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32395416
mrk
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
mrk
Гость
Спасибо. с отключённым кэширование заработало.
И ещё встречный вопрос. У меня параллельно состояние показывается в DBGrid
так там так же после Transaction.Rollback делаю DataSet.Refreresh[sql] а та неподтверждённая запись остаётся.
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32395592
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mkr

Посмотри pFIBDataSet.AutoCommit = ?

2 ДАНИИЛ
Можно.
pFIBDataSet для этого и предназначен. Он представляет собой совокупность пяти Query с различными SQL-предложениями:

SelectSQL
InsertSQL
UpdateSQL
DeleteSQL
RefreshSQL

Более того, на InsertSQL, UpdateSQL, DeleteSQL - можно отдельно свою пишущую транзакцию вешать (на RefreshSQL - по отдельному выбору)

А набор данных все равно нужно открыть... SelectSQL - его основное назначение. Если не охота данные выгребать и сервер Select - ом напрягать, просто сделай SQL - предложение

А еще можно в pFIBDataSet.Options прописать psStartTransaction в True
...
Рейтинг: 0 / 0
FIBPlus программная вставка записи
    #32396645
Даниил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2 mv:
>>. Если не охота данные выгребать и сервер Select - ом напрягать, просто сделай SQL - предложение

То есть как? В SelectSQL пихать "INSERT ... " ?
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / FIBPlus программная вставка записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]