Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка read-only datase, Ошибка стандартный функций IBQuery 
V
    Опции темы
VasRip
Дата 13.6.2013, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 16.9.2006
Где: РоссийскаяХохлянд ия

Репутация: нет
Всего: нет



при выполнении стандартный функций типа IBQuery1->Insert(); IBQuery1->Delete(); IBQuery1->Edit(); вылетает такая ошибка http://s1.ipicture.ru/uploads/20130613/cp3Gy5JW.jpg

user posted image

Но при выполнении IBQuery1->SQL->Text="INSERT INTO LIST_OBJECTS.....тарам тарам    
все работает четко.
 Я использую подключение через gds32.dll к БД .GDB

Может кто знает как можно это вылечить


если что подключение проходит по этому типу
http://www.fancydev.ru/content/embedded-fi...-dannyh-chast-2


user posted image

Это сообщение отредактировал(а) VasRip - 13.6.2013, 09:54
PM MAIL   Вверх
Riviero
Дата 13.6.2013, 17:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 25.3.2010

Репутация: нет
Всего: 3



Цитата(VasRip @  13.6.2013,  08:56 Найти цитируемый пост)
IBQuery1->Insert(); IBQuery1->Delete(); IBQuery1->Edit()


Я бы этими функциями не пользовался...

Можно так:

Для внесения изменений в базу:

Код

  IBQuery1->SQL->Close();
  IBQuery1->SQL->Clear();
  IBQuery1->SQL->Add("INSERT INTO LIST_OBJECTS....");
  IBQuery1->ExecSQL();


Для выборки:

Код

  IBQuery1->SQL->Close();
  IBQuery1->SQL->Clear();
  IBQuery1->SQL->Add("select * from INTO LIST_OBJECTS....");
  IBQuery1->Open();

PM MAIL   Вверх
Данкинг
Дата 13.6.2013, 19:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Правильно, с IB только запросы работают, а ->Edit не катит.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
VasRip
Дата 14.6.2013, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 16.9.2006
Где: РоссийскаяХохлянд ия

Репутация: нет
Всего: нет



по совету хорошей программистки стал использовать IBDataSet1 в место ADOQuery1  и  вся проблема сразу решилась. Походу у ADOQuery1 нет таких прав как у IBDataSet1.  ))))
писать код стало в 10 раз проще и удобней. IBDataSet1 удобней чем  ADOQuery1

PM MAIL   Вверх
Данкинг
Дата 14.6.2013, 10:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Цитата(VasRip @  14.6.2013,  08:41 Найти цитируемый пост)
IBDataSet1 удобней чем  ADOQuery1

Надо уточнять: для работы с IB. Хотя я для IB всегда соответствующие компоненты (IB) и использовал.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Riviero
Дата 14.6.2013, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 136
Регистрация: 25.3.2010

Репутация: нет
Всего: 3



А какие проблемы возникают с ADOQuery и решаются с IBDataSet1? smile 
PM MAIL   Вверх
Данкинг
Дата 14.6.2013, 10:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: нет
Всего: 130



Riviero, ну, из этой темы я узнал, что можно делать IBDataSet1->Edit...IBDataSet1->Post, хотя мне это ни разу не требовалось, т.к. было достаточно обычного запроса на обновление при помощи IBQuery.


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
VasRip
Дата 17.6.2013, 07:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 77
Регистрация: 16.9.2006
Где: РоссийскаяХохлянд ия

Репутация: нет
Всего: нет



IBDataSet1 гораздо удобней чем IBQuery. Приятней один раз написать запрос в параметрах IBDataSet1 чем каждый раз переписывать запрос в IBQuery.  При использовании IBQuery приходится каждый раз перезапускать соединение в IBTransaction1 и IBQuery перезапускать,  чтобы обновить данные во всех Гидах всего такого. А в IBDataSet1 только перезапустить и то где чтото делалось остальные сами обновляются сразу. В моем случае код уменьшился 5% + гораздо удобней. А приятный код это всегда приятный код и удобство работы)   

Riviero А пример вот сразу в начале теме проблем с IBQuery к доступу к данным. мне лично удобней и приятней и проще его использовать
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C++: Базы данных"
chipset

Данный форум предназначен для обсуждения вопросов прямым образом связанных с C++ и БД. Так, вопросы только по C++ следует задавать в C++:Общие вопросы а вопросы по абстрактным БД в Базах данных или в соответствующих под-форумах.

Благодарим за понимание.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, chipset.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Базы данных | Следующая тема »


 




[ Время генерации скрипта: 0.1441 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.