Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Базы данных > Ошибка read-only datase |
Автор: VasRip 13.6.2013, 08:56 |
при выполнении стандартный функций типа IBQuery1->Insert(); IBQuery1->Delete(); IBQuery1->Edit(); вылетает такая ошибка http://s1.ipicture.ru/uploads/20130613/cp3Gy5JW.jpg http://s1.ipicture.ru/ Но при выполнении IBQuery1->SQL->Text="INSERT INTO LIST_OBJECTS.....тарам тарам все работает четко. Я использую подключение через gds32.dll к БД .GDB Может кто знает как можно это вылечить если что подключение проходит по этому типу http://www.fancydev.ru/content/embedded-firebird-vstraivaemaya-baza-dannyh-chast-2 http://s1.ipicture.ru/ |
Автор: Riviero 13.6.2013, 17:22 | ||||
Я бы этими функциями не пользовался... Можно так: Для внесения изменений в базу:
Для выборки:
|
Автор: Данкинг 13.6.2013, 19:57 |
Правильно, с IB только запросы работают, а ->Edit не катит. |
Автор: VasRip 14.6.2013, 07:41 |
по совету хорошей программистки стал использовать IBDataSet1 в место ADOQuery1 и вся проблема сразу решилась. Походу у ADOQuery1 нет таких прав как у IBDataSet1. )))) писать код стало в 10 раз проще и удобней. IBDataSet1 удобней чем ADOQuery1 |
Автор: Данкинг 14.6.2013, 10:11 |
Надо уточнять: для работы с IB. Хотя я для IB всегда соответствующие компоненты (IB) и использовал. |
Автор: Riviero 14.6.2013, 10:38 |
А какие проблемы возникают с ADOQuery и решаются с IBDataSet1? ![]() |
Автор: Данкинг 14.6.2013, 10:49 |
Riviero, ну, из этой темы я узнал, что можно делать IBDataSet1->Edit...IBDataSet1->Post, хотя мне это ни разу не требовалось, т.к. было достаточно обычного запроса на обновление при помощи IBQuery. |
Автор: VasRip 17.6.2013, 07:27 |
IBDataSet1 гораздо удобней чем IBQuery. Приятней один раз написать запрос в параметрах IBDataSet1 чем каждый раз переписывать запрос в IBQuery. При использовании IBQuery приходится каждый раз перезапускать соединение в IBTransaction1 и IBQuery перезапускать, чтобы обновить данные во всех Гидах всего такого. А в IBDataSet1 только перезапустить и то где чтото делалось остальные сами обновляются сразу. В моем случае код уменьшился 5% + гораздо удобней. А приятный код это всегда приятный код и удобство работы) Riviero А пример вот сразу в начале теме проблем с IBQuery к доступу к данным. мне лично удобней и приятней и проще его использовать |