|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
12.02.2008, 17:03 | #1 |
Пользователь
Регистрация: 12.02.2008
Сообщений: 12
|
IBTransaction
На форме клиентского приложения имеються компоненты IBDatabase IBTransaction IBTable DataSource DBGrid.
Для записи изменений в таблицу БД использую метод IBTransaction->Commit() но не все изменения попадают в таблицу! Если например я добавил несколько записей через IBTable->Insert(), потом несколько из этих же записей удалил IBTable->Delete(), а потом выполнил IBTransaction->Commit(), то удаление не выполняеться так как будто я и не выполнял IBTable->Delete(), а только IBTable->Insert(). В чем тут может быть дело? P.S.: Использую свойства всех компонентов по-умолчанию. |
12.02.2008, 18:46 | #2 |
Форумчанин
Регистрация: 24.10.2007
Сообщений: 254
|
IBTransaction1.StartTransaction;
////твои действия IBTransaction1.Commit;// или IBTransaction1.Rollback и сделай двойной щелчок на компоненте и выбери тип транзакции |
12.02.2008, 21:33 | #3 |
Форумчанин
Регистрация: 04.03.2007
Сообщений: 615
|
IBTable в топку и используй IBQuery и работай через запросы!!!
|
13.02.2008, 10:09 | #4 |
Пользователь
Регистрация: 12.02.2008
Сообщений: 12
|
Вчера под впечатлением от таких событий пошел к товарищу и вместе мы произвели такой вот тест:
На моем Ноуте ID TXT 1 NULL 2 NULL 3 NULL 4 NULL А У ТОВАРИЩА :shok : ID TXT 3 NULL 4 NULL У меня СУБД FB 1.5 у товарища FB 2.0... Тестили и у меня и у него! Кто-нибудь может объяснить почему одна и та же прогамма на разных машинах сработала по-разному? Не поленитесь проделайте это эксперемент у себя. Интересно что получиться? |
13.02.2008, 11:21 | #5 | |
*
Старожил
Регистрация: 22.11.2006
Сообщений: 9,201
|
Цитата:
Свойство CachedUpdates в каком состоянии у вашего приятеля и у вас ? |
|
13.02.2008, 15:05 | #6 |
Пользователь
Регистрация: 12.02.2008
Сообщений: 12
|
to mihali4 ну обижаешь конечно же false...
Тут видимо дело в самой БД. Я попробовал все повотрить новая база, новая табличка и все ок! Работает корректно. только со старой все плохо. по-прежнему глючит. видимо что-то пошло не так при создании. Старую я рисовал в Дизайнере БД IBExpert'а а потом экспортировал в скрипт и запускал. Может в скрипте что-то не так... или в парметрах его запуска? Собсно скрипт вот Последний раз редактировалось r00xus; 13.02.2008 в 15:08. |
13.02.2008, 21:49 | #7 |
детский тренер
Форумчанин
Регистрация: 08.06.2007
Сообщений: 532
|
что-то с кєшированием....
попробуйте не компонент использовать , а просто писать: ADOConnection1.BeginTrans; {Insert Delete......... } ADOConnection1.CommitTrans; или переоткрытие DataSource сделать нужно...
Я злой и страФный серррый воФк, и в пАрАсятах знаю толк - ppp ppp pp p pp pp
|
14.02.2008, 17:33 | #8 |
Пользователь
Регистрация: 12.02.2008
Сообщений: 12
|
Вот собсно пример того как глючит. Если с помощью DBGrid добавить несколько записей с пустым полем TXT, потом удалить и нажать кнопочку, которая коммитит транзакцию, то удаленные записи не исчезнут.
|