Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Как отключить опцию драйвера PreparedQueries?

Автор: mva 24.12.2009, 18:46

Доброго времени суток всем!

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

Кто может помочь?

Автор: MoPDoBoPoT 24.12.2009, 19:19

По-моему надо написать свой драйвер, подправив имеющийся.
Проще, конечно, не использовать конструкцию QSqlQuery::prepare+QSqlQuery::bindValue+QSqlQuery::exec, заменив ее на QString::arg+QSqlQuery::exec.
А вообще не понятно зачем так делать? Вы враг оптимизации и админов БД? :)

Автор: Litkevich Yuriy 24.12.2009, 19:23

mva, ты в заголвке с эконмил всего четыре символа:
"как", пробел и знак вопроса.
Не экономь на этом.

Автор: mva 24.12.2009, 23:25

Цитата(Litkevich Yuriy @ 24.12.2009, 20:23) *
mva, ты в заголвке с эконмил всего четыре символа:
"как", пробел и знак вопроса.
Не экономь на этом.


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

А справочники у меня работают по старой схеме, как это предусмотрено Qt.

Автор: Litkevich Yuriy 25.12.2009, 10:26

mva, я про заголовок темы.

Цитата
Как_отключить опцию драйвера PreparedQueries?

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)