Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как отключить опцию драйвера PreparedQueries?
Форум на CrossPlatform.RU > Библиотеки > Qt > Qt Общие вопросы
mva
Доброго времени суток всем!

Чего-то не могу найти как отключить опцию драйвера PostgreSQL QSqlDriver::PreparedQueries. Мне нужно, чтобы мои команды отправлялись на сервер в "чистом виде", без обработки.

Кто может помочь?
MoPDoBoPoT
По-моему надо написать свой драйвер, подправив имеющийся.
Проще, конечно, не использовать конструкцию QSqlQuery::prepare+QSqlQuery::bindValue+QSqlQuery::exec, заменив ее на QString::arg+QSqlQuery::exec.
А вообще не понятно зачем так делать? Вы враг оптимизации и админов БД? :)
Litkevich Yuriy
mva, ты в заголвке с эконмил всего четыре символа:
"как", пробел и знак вопроса.
Не экономь на этом.
mva
Цитата(Litkevich Yuriy @ 24.12.2009, 20:23) *
mva, ты в заголвке с эконмил всего четыре символа:
"как", пробел и знак вопроса.
Не экономь на этом.


Дело не в экономии. Просто из-за отсутствия в Qt полноценных реляций таблиц по подобию Visual FoxPro, с которой я переписываю программу на Qt, я был вынужден на основе класса QSqlRelationalTableModel сделать свой класс, в котором можно к основной таблице добавить столбцы из таблиц, с которыми основная связана реляционными отношениями. Ясное дело, что в нем процедура генерации секции SELECT переопределена и несколько сложнее исходной. Т.к. новая таблица фактически состоит из нескольких, то и сохранять изменения в основной и связанных таблицах мне нужно по отдельности, разными командами UPDATE для каждой связанной таблицы. Когда я это пытаюсь сделать, драйвер перерабатывает мои команды UPDATE в какие-то чудовищные команды, которые он выводит из моего сложного запроса. Естественно, что это не работает.

А справочники у меня работают по старой схеме, как это предусмотрено Qt.
Litkevich Yuriy
mva, я про заголовок темы.
Цитата
Как_отключить опцию драйвера PreparedQueries?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.