sqlite中的QString选择

时间:2017-10-28 14:07:41

标签: c++ qt sqlite

我想搜索名为x的字符串。

QString x=abc->text();

QSqlQuery qry("SELECT nazwa FROM piosenki WHERE nazwa like'%x%' ");

x被视为单个字符不像abc-> text();  我能做些什么来挑选QString x? 对我来说重要的是SQlite LIKE子句因为我想从我的数据库中选择所有类似于abc-> text()。

1 个答案:

答案 0 :(得分:1)

一个简单的选择是使用.arg()

QString x=abc->text();
QSqlQuery query(QString("SELECT nazwa FROM piosenki WHERE nazwa like'%%1%'").arg(x));
if(query.exec()){
    int fieldNo = query.record().indexOf("nazwa");
    while (query.next()) {
        qDebug()<< query.value(fieldNo).toString();
    }
}

prepare()bindValue()

QString x=abc->text();
QSqlQuery query;
query.prepare("SELECT nazwa FROM piosenki WHERE nazwa LIKE :nazwa");
query.bindValue(":nazwa", "%" +x + "%");
if(query.exec()){
    int fieldNo = query.record().indexOf("nazwa");
    while (query.next()) {
        qDebug()<< query.value(fieldNo).toString();
    }
}