QSqlQuery searchQuery(QString("select * from people where id = %1").arg(1));
if (searchQuery.next())
{
std::cout << "Name: " << searchQuery.value(1).toString().toStdString() << std::endl;
}
を出力は(予想通り)である:
Name: David
私はこれを行う場合は、:
QSqlTableModel *model = new QSqlTableModel;
// Set used table
model->setTable("people");
model->setEditStrategy(QSqlTableModel::OnManualSubmit);
// Set where clause
model->setFilter(QString("id=%1").arg(1));
model->select();
// Read result
QSqlRecord record = model->record();
if (!record.isEmpty())
{
std::cout << "Name from model: " << record.value(1).toString().toStdString();
}
をレコードであります空ではありませんが、出力は空白です:
Name from model:
QSqlTableModelを使用して何が間違っているのか誰にでも見えますか?
また、どちらの方法でも、どのデータベースを使用する必要がある(つまり、QSqlDatabaseと.open()をインスタンス化するかを教えてもらえませんが、データベース?)
おかげで、
デビッド
大変感謝しています! –