Текущий архив: 2004.08.22;
Скачать: CL | DM;
Вниз
Изменения в базе Найти похожие ветки
← →
Koala (2004-07-23 19:02) [0]В чем глюк???
Провожу изменения в базе...
With DM do
begin
try
pFIBTransactionWrite.StartTransaction;
Case Operation of
uoAdd : begin
pFIBSPr_IDriver.Prepare;
pFIBSPr_IDriver.ParamByName"IN_FIO_DRIVER").AsString := Trim(Edit_FIODriver.Text);
pFIBSPr_IDriver.ParamByName("IN_CERTIFICATE").AsString := Trim(Edit_NumDriver.Text);
pFIBSPr_IDriver.ParamByName("IN_DATE_EDIT").AsDateTime := Now;
pFIBSPr_IDriver.ExecProc;
end;
pFIBTransactionWrite.Commit;
except
pFIBTransactionWrite.Rollback;
end;
в датасете все отображается нормально, но когда закрываю базу и открываю заново, все изменения пропадают...
что не так делаю????
← →
Koala (2004-07-24 18:00) [1]Удалено модератором
Примечание: Создание пустых сообщений
← →
Yaral (2004-07-24 19:34) [2]Нужно правильно настройть все компоненты доступа к данным.
Для начала проверить что в pFIBSPr_IDriver выбрана именно pFIBTransactionWrite.
Затем после except разместить ShowMessage("Ошибка") или трассировщиком пройти, а то если в try Except возникнет ошибка то никаких сообщений не последует а транзакция просто откатится.
← →
Koala (2004-07-24 19:43) [3]В том то и дело, что все проходит без ошибки изменения в базе вижу, но после закрытия базы и открытия заново, все изменения пропадают... Обыдно-да... :о(
← →
Yaral (2004-07-24 20:02) [4]Попробуй посмотреть изменения после вставке в базу к примеру в IBConsole или IBExpert-е если транзакция прошла успешно то изменения отобразяться и там => если они там не отобразились то нужно смотреть правильность настройки транзакций. Если изменения отображаются в IBConsole а после закрытия базы исчезают то это вообще хана!
← →
Koala (2004-07-24 20:20) [5]Параметры транзакции pFIBTransactionWrite:
write
nowait
rec_version
read_committed
Что я не сделал????
Я только учусь.......
← →
Yaral (2004-07-24 20:35) [6]В IBConsole или IBExpert-е данные не отображаются?
← →
Koala (2004-07-24 20:43) [7]В IBExpert-е нет почему-то, а в DBGrideEh да...
закрываю форму открываю заново, есть,з закрываю приложение открываю нет...
← →
Anatoly Podgoretsky © (2004-07-24 20:44) [8]Это означает, что ты данные не заносишь в базу, а хранишь локально в этом самом DBGrideEh
← →
Yaral (2004-07-24 20:52) [9]Значит транзакция не прошла. Проверь в pFIBSPr_IDriver в свойстве Transaction стоит именно pFIBTransactionWrite, а то там может стоять другая и получается что стартуешь pFIBTransactionWrite и подтвержаешь ее но она никакого отношения к pFIBSPr_IDriver не имеет. В этом случаее Хранимая процедура выполнится но изменения из буфера клиента в базу не попадут. Поэтому в приложении данные видны а после закрытия исчезают.
← →
Koala (2004-07-24 21:41) [10]В IBExpert удаляю записи, затем подтверждаю Commit, данные не сохраняются...
← →
Yaral (2004-07-24 21:45) [11]Как после подтверждения транцакции удаленные записи не удаляются т.е. появляются снова?
← →
Koala (2004-07-24 21:57) [12]вот и мне не понятно???????.......
← →
Yaral (2004-07-24 22:06) [13]Ну это глюк! Тут можно создать новую базу и попробовать в ней если это не поможет то переустоновить FB желательно с другого дистрибутива. Также можно посмотреть может база в состоянии read only хотя я думаю что возникла бы ошибка.
← →
VID © (2004-07-24 22:52) [14]Yaral (24.07.04 22:06) [13]
ну когда база в РО, то обычно при попытке подключиться к ней, уже возникает ерррор.
Koala, если не секрет, скинь скрипт базы данных мне на vid@endimus.ru, если не умеешь скрипт добывать то запакуй хотя бы сам файл БД в рар, и пришли (главное что бы больше 300-400кб не занимал). Интересно стало...
Страницы: 1 вся ветка
Текущий архив: 2004.08.22;
Скачать: CL | DM;
Память: 0.47 MB
Время: 0.035 c