我想搜索名为x的字符串。
QString x=abc->text();
QSqlQuery qry("SELECT nazwa FROM piosenki WHERE nazwa like'%x%' ");
x被视为单个字符不像abc-> text(); 我能做些什么来挑选QString x? 对我来说重要的是SQlite LIKE子句因为我想从我的数据库中选择所有类似于abc-> text()。
答案 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();
}
}