• 5152阅读
  • 3回复

Qt中数据库的查询语句疑问 [复制链接]

上一主题 下一主题
离线rycstar
 
只看楼主 倒序阅读 楼主  发表于: 2009-12-03
在以字符串作为查询条件的时候语句是这样的:
query.exec("SELECT name FROM Inf WHERE name = ' "+applyName+" ' ");
在以int型数据作为查询条件的时候是如何的呢?
int s=1;
query.exec("SELECT name FROM Inf WHERE id = 's' "); 是不正确的;
query.exec("SELECT name FROM Inf WHERE id = s ");  是不正确的;
query.exec("SELECT name FROM Inf WHERE id = 1");  查询正确。
怎么才能用s来代替那个1
离线rycstar
只看该作者 1楼 发表于: 2009-12-03
刚问了师兄;解决了
由于query。exec()里面的内容都是字符串,即是传递给数据库的只是一个字符串,所以得把int型转化成字符串才行;
query.exec("SELECT name FROM Inf WHERE id = " + QString::number(s));
离线yleesun

只看该作者 2楼 发表于: 2009-12-03
int s=1;
QString sql = tr("SELECT name FROM Inf WHERE id = %1").arg(s);
query.exec(sql);
这样可以。
离线rycstar
只看该作者 3楼 发表于: 2009-12-03
你的方法也行,本质上都是把int型转化成了字符串,再添加到查询的语句中。谢谢
快速回复
限100 字节
 
上一个 下一个