Qt:QSqlQuery的prepare里使用like进行模糊查询

Qt:QSqlQuery的prepare里使用like进行模糊查询
@import url(http://www.cppblog.com/CuteSoft_Client/CuteEditor/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);
在sql语句里不要用%,而是在bindValue的时候使用。
// like子句:'abc%',因为绑定string时会自动加上单引号,所以%必须在绑定的时候连接上去
       QString sql = Sql_Select_Prefix;
    if (!fpi.isEmpty()) { sql += QString("AND ps.factory_product_id like :fpi ").arg(fpi);}
    if (!jpi.isEmpty()) { sql += QString("AND ps.jifei_product_id like :jpi ").arg(jpi); }

 
  
    QSqlQuery query(DBUtil::getDatabase());
    query.setForwardOnly(true);
    query.prepare(sql);

 
  
    if (!fpi.isEmpty()) { query.bindValue(":fpi", fpi + "%"); }
    if (!jpi.isEmpty()) { query.bindValue(":jpi", jpi + "%"); }
 
  

    query.exec();
    extractProducts(products, query);
    query.finish();
   

你可能感兴趣的:(Qt:QSqlQuery的prepare里使用like进行模糊查询)