Как отключить опцию драйвера PreparedQueries? |
Здравствуйте, гость ( Вход | Регистрация )
Как отключить опцию драйвера PreparedQueries? |
mva |
24.12.2009, 18:46
Сообщение
#1
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
Доброго времени суток всем!
Чего-то не могу найти как отключить опцию драйвера PostgreSQL QSqlDriver::PreparedQueries. Мне нужно, чтобы мои команды отправлялись на сервер в "чистом виде", без обработки. Кто может помочь? |
|
|
MoPDoBoPoT |
24.12.2009, 19:19
Сообщение
#2
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
По-моему надо написать свой драйвер, подправив имеющийся.
Проще, конечно, не использовать конструкцию QSqlQuery::prepare+QSqlQuery::bindValue+QSqlQuery::exec, заменив ее на QString::arg+QSqlQuery::exec. А вообще не понятно зачем так делать? Вы враг оптимизации и админов БД? |
|
|
Litkevich Yuriy |
24.12.2009, 19:23
Сообщение
#3
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
mva, ты в заголвке с эконмил всего четыре символа:
"как", пробел и знак вопроса. Не экономь на этом. |
|
|
mva |
24.12.2009, 23:25
Сообщение
#4
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
mva, ты в заголвке с эконмил всего четыре символа: "как", пробел и знак вопроса. Не экономь на этом. Дело не в экономии. Просто из-за отсутствия в Qt полноценных реляций таблиц по подобию Visual FoxPro, с которой я переписываю программу на Qt, я был вынужден на основе класса QSqlRelationalTableModel сделать свой класс, в котором можно к основной таблице добавить столбцы из таблиц, с которыми основная связана реляционными отношениями. Ясное дело, что в нем процедура генерации секции SELECT переопределена и несколько сложнее исходной. Т.к. новая таблица фактически состоит из нескольких, то и сохранять изменения в основной и связанных таблицах мне нужно по отдельности, разными командами UPDATE для каждой связанной таблицы. Когда я это пытаюсь сделать, драйвер перерабатывает мои команды UPDATE в какие-то чудовищные команды, которые он выводит из моего сложного запроса. Естественно, что это не работает. А справочники у меня работают по старой схеме, как это предусмотрено Qt. Сообщение отредактировал mva - 25.12.2009, 8:07 |
|
|
Litkevich Yuriy |
25.12.2009, 10:26
Сообщение
#5
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
mva, я про заголовок темы.
Цитата Как_отключить опцию драйвера PreparedQueries?
|
|
|
Текстовая версия | Сейчас: 26.12.2024, 14:51 |