crossplatform.ru

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

> Горячий поиск
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() вводить фамилию, то все работает как часы.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
vankleef
  опции профиля:
сообщение 5.3.2012, 13:49
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 21.10.2010
Пользователь №: 2134

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




Репутация:   1  


Было такое у меня в каком-то проекте.
Вот такой конект в конструкторе:
connect(widget.criterylineEdit,SIGNAL(textEdited(const QString&)),this,SLOT(search(const QString&)));

И вот реализация слота поиска:
void resultForm::search(const QString& text){
    int index=widget.comboBox->currentIndex();
    switch(index){
        case 0:
            model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE fio LIKE '%"+text+"%'");
            widget.tableView->setModel(model);
            break;
        case 1:
            model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE klass LIKE '%"+text+"%'");
            widget.tableView->setModel(model);
            break;
        case 2:
            model->setQuery("SELECT fio,sernum,klass,discip,data,quA,quB FROM result WHERE sernum LIKE '%"+text+"%'");
            widget.tableView->setModel(model);
            break;
    }
    widget.tableView->resizeColumnsToContents();
    widget.tableView->resizeRowsToContents();
}


На int index=widget.comboBox->currentIndex(); не обращай внимания, это комбобокс, в котором указывается критерий, по которому надо искать (фамилия, серия/номер паспорта и тд)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


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


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




RSS Текстовая версия Сейчас: 26.11.2024, 13:10