Russian Qt Forum

Qt => Базы данных => Тема начата: Larry от Декабрь 10, 2010, 18:07



Название: выборка отдельных строк из sqlite
Отправлено: Larry от Декабрь 10, 2010, 18:07
Добрый день!Подскажите пожалуйста, как сделать выборку отдельных строк из бд с помощью QSqlTableModel::setFilter()...Есть таблица с тремя столбцами: первый - название фильма, второй - жанр фильма, третий - тип носителя. Мне надо выбрать из таблицы фильмы по определенному жанру. Заранее спасибо всем откликнувшимся.


Название: Re: выборка отдельных строк из sqlite
Отправлено: SimpleSunny от Декабрь 10, 2010, 19:46
Цитировать
The filter is a SQL WHERE clause without the keyword WHERE (for example, name='Josephine').

Для вашего случая фильтр будет выглядеть примерно так:
"имя_второго_столбца_в_бд='жанр_фильма'"


Название: Re: выборка отдельных строк из sqlite
Отправлено: Larry от Декабрь 10, 2010, 21:24
спасибо, я уже это попробовал и получается что проблема в кодировке...Вот теперь думаю, как это исправить...например у меня список жанров загружается из файла и названия прописаны на кириллице. Я делаю фильтр такой:
model->setFilter("genre = " + line);
где genre - это название столбца, а line - это строка QString(в ней содержится название жанра, который выбран), но ничего не происходит...Как это исправить?


Название: Re: выборка отдельных строк из sqlite
Отправлено: crossly от Декабрь 11, 2010, 00:34
Код:
model->setFilter("genre = '" + line+"'");


Название: Re: выборка отдельных строк из sqlite
Отправлено: Larry от Декабрь 11, 2010, 10:57
crossly большое спасибо, все заработало :)