Добрый вечер, форумчане! Возник такой вопрос. У меня есть 2 таблицы:
id | name - это поля первой таблицы
id | name | genre - это поля второй таблицы(их немного больше...)
первая таблица называется "genre", а вторая "film"... в поле name первой таблицы забиты жанры...Мне надо выбрать из таблицы "film" все строки в которых genre(поле второй таблицы) совпадают с name первой таблицы.
Вот что я сделал, но этот запрос не работает...
QSqlQuery query;
QSqlRecord record;
QString strQuery = "select name from genre";
QStringList strListGenre;
query.exec(strQuery);
record = query.record();
while(query.next())
strListGenre << query.value(record.indexOf("name")).toString();
foreach(QString str, strListGenre)
{
strQuery = "SELECT name FROM film WHERE genre = '" + str + "'";
if(query.exec(strQuery))
qDebug() << QObject::tr("Работает!");
else
qDebug() << QObject::tr("Не работает");
record = query.record();
QString film = query.value(record.indexOf("name")).toString();
qDebug() << film;
}
первый запрос вытягивает все данные из первой таблицы, а вот второй не работает, только выдает: QSqlQuery::value: not positioned on a valid record