crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Как отключить опцию драйвера 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


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


mva, ты в заголвке с эконмил всего четыре символа:
"как", пробел и знак вопроса.
Не экономь на этом.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
mva
  опции профиля:
сообщение 24.12.2009, 23:25
Сообщение #4


Участник
**

Группа: Участник
Сообщений: 104
Регистрация: 15.3.2009
Из: Киров
Пользователь №: 615

Спасибо сказали: 3 раз(а)




Репутация:   0  


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


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

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

Сообщение отредактировал mva - 25.12.2009, 8:07
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 25.12.2009, 10:26
Сообщение #5


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9656
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


mva, я про заголовок темы.
Цитата
Как_отключить опцию драйвера PreparedQueries?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.9.2020, 19:38