2011-12-22 121 views
0

我试图运行此查询到SQLite数据库,但它不是从Qt的 执行,但是当我去的Navicat并执行相同的查询它的工作原理很细,没有任何问题Qt的SQLite的查询不起作用

QSqlQuery query; 
query.prepare("SELECT token FROM tokens WHERE SOUNDEX(token) = SOUNDEX('search')"); 

if(!query.exec()){ 
    QMessageBox::information(this,"Error","query won't execute"); //will be displayed 
} 

QSqlRecord rec = query.record(); 
    int cols = rec.count(); //0 

在那里,如果我执行任何其他选择stamement它的工作原理很细

+0

使用QSqlQuery的lastError方法来猜测什么是错误的。 – 2011-12-22 07:35:22

回答

0

的问题是,SOUNDEX算法默认情况下禁用,你必须建立sqlite时使用的编译器标志-DSQLITE_SOUNDEX=1

所以你必须建立这个标志的sqlite司机,然后通过将它连接到你的sqlite build来建立这个插件。