2017-10-28 10 views
0

xという文字列を検索したい。QString in sqlite select

QString x=abc->text(); 

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

xは、abc-> text()と似ていない単一の文字のように扱われます。 QString xを選ぶために何ができるのですか? 私のデータベースにとって、abc-> text()と同様のものを選びたいので、私にとって重要なのはSQlite LIKE句です。

答えて

1

簡単なオプションが使用することです

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().arg()

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

なぜdownvote? – eyllanesc

+0

ありがとうございます! –