Горячий поиск |
Здравствуйте, гость ( Вход | Регистрация )
Горячий поиск |
Stoptyssin |
2.3.2012, 23:02
Сообщение
#1
|
Студент Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: 0 |
Здравствуйте все! Задача такая: надо найти в БД строку по фамилии котрая вводится в QLineEdit. Информация отображается в QTableView. Вот код:
void PatPoisk::on_lEdPat_textChanged(QString ) { QString filter_query = ("Pat_F = ui->lEdPat->text()"); model->setFilter(filter_query); } Если вместо ui->lEdPat->text() вводить фамилию, то все работает как часы. |
|
|
RazrFalcon |
3.3.2012, 0:08
Сообщение
#2
|
Zombie Mod Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: 212 |
э...
почему не ?Что-то вы нагородили со скобками и кавычками |
|
|
Stoptyssin |
3.3.2012, 8:22
Сообщение
#3
|
Студент Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: 0 |
|
|
|
MoPDoBoPoT |
3.3.2012, 14:10
Сообщение
#4
|
Участник Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: 9 |
Мде...
|
|
|
Stoptyssin |
3.3.2012, 15:29
Сообщение
#5
|
Студент Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: 0 |
Мде...
Попробовал. Не работает, не находит в БД. Мде...
Попробовал. Не работает, не находит в БД. я дебил! Все заработало, сори! Теперь проблема в другом: при повторном введении не происходит поиска. Т.е. если стереть в lEdPat, то не показывает полный список и если ввести другой Pat_Id - не происходит поиска по базе. Только если закрыть форму и открыть снова, тогда все норм. |
|
|
vankleef |
5.3.2012, 13:49
Сообщение
#6
|
Студент Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: 1 |
Было такое у меня в каком-то проекте.
Вот такой конект в конструкторе:
И вот реализация слота поиска:
На int index=widget.comboBox->currentIndex(); не обращай внимания, это комбобокс, в котором указывается критерий, по которому надо искать (фамилия, серия/номер паспорта и тд) |
|
|
Stoptyssin |
6.3.2012, 13:54
Сообщение
#7
|
Студент Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: 0 |
Спасибо большое, буду пробовать. Сам уже подумал что через запрос легче будет )))
|
|
|
Stoptyssin |
14.3.2012, 20:57
Сообщение
#8
|
Студент Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: 0 |
Сдела так, вроде работает
void PatPoisk::on_lEdPat_textChanged(QString ) { if(ui->lEdPat->text().size() > 0) { QString filter_query = ("Pat_F like '" + ui->lEdPat->text()+"%'"); model->setFilter(filter_query); ui->tVPat->resizeColumnsToContents(); ui->tVPat->resizeRowsToContents(); } if(ui->lEdPat->text().size() == 0) { model->setTable("Patient"); model->select(); model->setHeaderData(1, Qt::Horizontal, tr("Фамилия")); model->setHeaderData(2, Qt::Horizontal, tr("Имя")); model->setHeaderData(3, Qt::Horizontal, tr("Отчество")); ui->tVPat->setModel(model); ui->tVPat->setColumnHidden(0, true); ui->tVPat->show(); } } правда коряво))) |
|
|
Текстовая версия | Сейчас: 28.11.2024, 20:07 |