Форум программистов, компьютерный форум, киберфорум
C++ Builder: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 14

В чем ошибка при работе с Firebird?

20.02.2012, 21:40. Показов 1425. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте.

В баттоне код:
C++
1
2
3
4
5
6
7
8
9
10
11
12
        Form1->IBQuery1->SQL->Clear();
    Form1->IBQuery1->SQL->Add("SELECT * FROM TABLENAME");
    Form1->IBTransaction1->StartTransaction();
    try
    {
        Form1->IBQuery1->Open();
    }
    catch(Exception &error)
    {
        Form1->Memo1->Lines->Add(error.Message);
    }
    Form1->IBTransaction1->Commit();
 Комментарий модератора 
Используйте теги форматирования кода!

В таблице несколько записей, но при нажатии кнопки записи не показываются в dbgrid-е. Когда убираю Form1->IBTransaction1->Commit();, то записи показываются, но при повторном нажатии уже вылетает ошибка, что Transaction is active, но для того и использую commit, чтоб ошибка не вышла, но при commit записи не показываются. Где тут ошибка?

Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.02.2012, 21:40
Ответы с готовыми решениями:

Ошибка при работе с Firebird 2.1
Здравствуйте! Такая проблема..... Выполняю код: //Сохраняем нужные данные BookZaglavie:=trim(mBookZaglavie.Text); ...

Ошибка violation of PRIMARY or UNIQUE KEY при работе с базой Firebird (DataSnap)
Здравствуйте, уважаемые форумчане! Помогите,пожалуйста, если кто может подсказать, помочь советом.. Есть сервер DataSnap, который...

PhpWord: в чём ошибка при работе с шаблоном?
Нужно создавать документы по шаблону. Если создавать документ на пустом месте, всё проходит нормально, но тут не происходит ни сохранения...

3
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
22.02.2012, 10:33
Отключите автоматическое управление транзакциями и перед строчкой
C++
1
Form1->IBTransaction1->StartTransaction();
напишите вот это:
C++
1
if(Form1->IBTransaction1->Active == true){IBTransaction->IBTransaction1->Commit();}
Добавлено через 23 часа 28 минут
Цитата Сообщение от _engineer_ Посмотреть сообщение
C++
1
if(Form1->IBTransaction1->Active == true){IBTransaction->IBTransaction1->Commit();}
Ошибочка
Написать:
C++
1
if(Form1->IBTransaction1->Active == true){Form1->IBTransaction1->Commit();}
0
0 / 0 / 0
Регистрация: 07.09.2011
Сообщений: 14
22.02.2012, 12:31  [ТС]
Цитата Сообщение от _engineer_ Посмотреть сообщение
Отключите автоматическое управление транзакциями и перед строчкой
C++
1
Form1->IBTransaction1->StartTransaction();
напишите вот это:
C++
1
if(Form1->IBTransaction1->Active == true){IBTransaction->IBTransaction1->Commit();}
Добавлено через 23 часа 28 минут

Ошибочка
Написать:
C++
1
if(Form1->IBTransaction1->Active == true){Form1->IBTransaction1->Commit();}
Неудобно же каждый раз проверять актив или нет перед starttransaction.
0
117 / 74 / 6
Регистрация: 23.01.2012
Сообщений: 186
22.02.2012, 13:01
Очень даже удобно. Пример:
У Вас открыт для таблицы датасет, Вы можете перезагрузить данные в таблицы как по действию пользователя, так и по "эвенту" из базы данных. Написав один раз в функции эту проверку, Вы гарантируете, что в любой части программы не возникнет ошибка.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.02.2012, 13:01
Помогаю со студенческими работами здесь

В чем моя ошибка при работе с массивом?
Написал код для заполнения выпадающего списка Combobox.ПРивожу код model=data; ...

Глюки при работе с Firebird 2.1
Всем привет. Работаю с Firebird 2.1 через IBQuery, DataSource, DBGrid.... Такие вопросы: 1. Записываю данные в таблицы через...

При работе с Lazarus и Firebird возникли трудности
Самая простая программа. Пытаюсь вывести таблицу базу данных(.FDB) на экран. Компонент IBConnection, в котором просписан путь к базе....

Аппаратная ошибка видео (Ошибка при работе с видеоустройствами привела к некорректной работе Windows).
Аппаратная ошибка видео. Последнее время во время игры Call of Duty: Modern Warfare 2 в мультиплеер, (между сменами карт, как только...

Ошибка при изменении записи в Firebird
Работаю в C# с базой Firebird. Есть таблица с полем типа varchar, кодировкой Win1251 и установленной длинной 2000. При изменении именно в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
Влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru