• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

QString在sqlite中选择

c/c++ 来源:Filip Koper 14次浏览

我想搜索名为x的字符串。QString在sqlite中选择

QString x=abc->text(); 

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

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

===========解决方案如下:

一个简单的选择是使用.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(); 
    } 
} 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)