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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Запрос с многими условиями  (Прочитано 4550 раз)
Achernar
Гость
« : Июнь 11, 2014, 07:13 »

Здравствуйте,

Новичок в SQL, не совсем все понимаю, возник вот такой вопрос:

Есть таблица в БД, пусть в ней будет 4 поля, есть форма на которой можно задать несколько условий, пример во вложении, причем неизвестно сколько из этих условий активирует пользователь. Меня интересует каким образом правильно составить подобный запрос, то есть делается это средствами клиента или БД, и как конкретно это сделать - писать запросы на каждый вариант, но ведь вариантов может быть очень много, или есть способ проще?
« Последнее редактирование: Июнь 11, 2014, 07:50 от Achernar » Записан
Figaro
Гость
« Ответ #1 : Июнь 11, 2014, 07:37 »

А в чем проблема? В зависимости от чекбоксов и текстовых полей добавляем в WHERE нужные условия, например:

Код:
QString sql("SELECT * FROM table WHERE");
if (Field1.isChecked()) {
if (!Field1Min.text().isEmpty())
sql += " (field1 > :Field1Min)";
if (!Field1Max.text().isEmpty())
sql += " (field1 < :Field1Max)";
}
...
QSqlQuery query(database);
query.prepare(sql);
if (Field1.isChecked()) {
if (!Field1Min.text().isEmpty())
query.bindValue("Field1Min", Field1Min.text().toInt());
if (!Field1Max.text().isEmpty())
query.bindValue("Field1Max", Field1Max.text().toInt());
}
...
if (!query.exec()) {
...
}

P.S. AND'ы в SQL условии сами проставите...
Записан
Achernar
Гость
« Ответ #2 : Июнь 11, 2014, 07:45 »

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


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