![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Stoptyssin |
![]()
Сообщение
#1
|
Студент ![]() Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 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 |
![]()
Сообщение
#2
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
э...
почему не ?Что-то вы нагородили со скобками и кавычками |
|
|
Stoptyssin |
![]()
Сообщение
#3
|
Студент ![]() Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
|
|
|
MoPDoBoPoT |
![]()
Сообщение
#4
|
Участник ![]() ![]() Группа: Участник Сообщений: 172 Регистрация: 7.5.2009 Из: Москва Пользователь №: 738 Спасибо сказали: 44 раз(а) Репутация: ![]() ![]() ![]() |
Мде...
|
|
|
Stoptyssin |
![]()
Сообщение
#5
|
Студент ![]() Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Мде...
Попробовал. Не работает, не находит в БД. Мде...
Попробовал. Не работает, не находит в БД. я дебил! Все заработало, сори! Теперь проблема в другом: при повторном введении не происходит поиска. Т.е. если стереть в lEdPat, то не показывает полный список и если ввести другой Pat_Id - не происходит поиска по базе. Только если закрыть форму и открыть снова, тогда все норм. |
|
|
vankleef |
![]()
Сообщение
#6
|
![]() Студент ![]() Группа: Участник Сообщений: 74 Регистрация: 21.10.2010 Пользователь №: 2134 Спасибо сказали: 9 раз(а) Репутация: ![]() ![]() ![]() |
Было такое у меня в каком-то проекте.
Вот такой конект в конструкторе:
И вот реализация слота поиска:
На int index=widget.comboBox->currentIndex(); не обращай внимания, это комбобокс, в котором указывается критерий, по которому надо искать (фамилия, серия/номер паспорта и тд) |
|
|
Stoptyssin |
![]()
Сообщение
#7
|
Студент ![]() Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 0 раз(а) Репутация: ![]() ![]() ![]() |
Спасибо большое, буду пробовать. Сам уже подумал что через запрос легче будет )))
|
|
|
Stoptyssin |
![]()
Сообщение
#8
|
Студент ![]() Группа: Участник Сообщений: 20 Регистрация: 20.1.2012 Пользователь №: 3145 Спасибо сказали: 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(); } } правда коряво))) |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 16.2.2025, 15:58 |