Russian Qt Forum
Сентябрь 30, 2024, 08:31 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с выборкой записей в SQLite  (Прочитано 4114 раз)
Krow
Гость
« : Июль 31, 2009, 13:43 »

      
Код:
for (int t=0; t<ui.lwFirmAdd->count()-1; t++)
{
item = ui.lwFirmAdd->item(t);
FirmListItems += tr("firm = '%1' OR ").arg(item->text());
}
item = ui.lwFirmAdd->item(ui.lwFirmAdd->count()-1);
FirmListItems += tr("firm = '%1')").arg(item->text());
queryOut->exec(tr("SELECT * FROM tovar WHERE kolvo > 0 AND (%1 ORDER BY firm").arg(FirmListItems));
буду краток. вот кусок кода, если с условием kolvo > 0 то запрос выполняется верно.. а если мне нужно все значения по фирмам, не взирая на остаток делаю запрос такой:
Код:
queryOut->exec(tr("SELECT * FROM tovar WHERE %1 ORDER BY firm").arg(FirmListItems));
один фиг выбираются записи БД у которых kolvo > 0.. не знаю уже куда смотреть в этом коде.. может вы подскажите куда курить для рассмотрения прблемы под другим углом, и возможного решения данной проблемы..
ЗЫ если делать запрос через QSqlTableModel то записи проходят именно так как надо, но в данном отрезке кода желательно использовать запрос такой.
ЗЗЫ да кстати забыл сказать БД SQLite
Записан
Krow
Гость
« Ответ #1 : Август 01, 2009, 12:11 »

вопрос снят. разобрался уже сам. там дальше стояла проверка..
Код:
if (queryOut->value(11).toInt() > 0)
согласен что кодер в большинстве случаев сам дурак ))
Записан
Karl-Philipp
Гость
« Ответ #2 : Август 01, 2009, 14:44 »

Условие:
получили значение поля (QVariant), перевели его в int, сравнили с нолём.

Что-то не вижу ошибки, объясните, пожалуйста  Непонимающий
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #3 : Август 01, 2009, 16:21 »

OFFTOP:
сдаётся мне, что функция tr() тут лишняя.
"queryOut->exec(tr(...).arg(FirmListItems));"
Записан

Юра.
CroCIV
Гость
« Ответ #4 : Август 03, 2009, 15:03 »

сдаётся мне, что она тут лишняя вообще совсем

Код:
FirmListItems += tr("...").arg(item->text());
FirmListItems += tr("...").arg(item->text());
queryOut->exec(tr("...").arg(FirmListItems));

сомневаюсь, что в ближайшую сотню лет кому-нибудь взбредет в голову делать язык SQL зависимым от региональных языковых стандартов  Смеющийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.046 секунд. Запросов: 23.