当前位置: 代码迷 >> QT开发 >> Qt中运用查询语句,语句中含有变量,不知为何错了
  详细解决方案

Qt中运用查询语句,语句中含有变量,不知为何错了

热度:49   发布时间:2016-04-25 04:30:38.0
Qt中使用查询语句,语句中含有变量,不知为何错了?
首先:
  query.exec("SELECT * FROM user_passwd" );
  QString passwd_temp;
  query.next();
  passwd_temp=query.value(1).toString();
  qDebug()<<passwd_temp;
这样能打印出1234
然后修改代码:
 query.exec(QString("SELECT * FROM user_passwd WHERE name=%1").arg(name) );//name来自lineedit
  QString passwd_temp;
  query.next();
  passwd_temp=query.value(1).toString();
  qDebug()<<passwd_temp;
结果打印""
这是怎么回事啊?没查询出结果啊?我语句写错了吗?求大神解答!谢谢

------解决方案--------------------
C/C++ code
query.exec("SELECT * FROM user_passwd WHERE name=%1"+name);//如果name是QString
------解决方案--------------------
上面的不对,重新回复一下;

C/C++ code
query.exec(QString("SELECT * FROM user_passwd WHERE name='%1' ;").arg(name) );//name来自lineedit  QString passwd_temp;  query.next();  passwd_temp=query.value(1).toString();  qDebug()<<passwd_temp;
------解决方案--------------------
探讨

引用:

query.exec(QString("SELECT * FROM user_passwd WHERE name= '%1' ").arg(name) );
这样试下

漂亮!能行,为什么啊?
query.exec(QString("SELECT * FROM user_passwd WHERE name=%1").arg(name) );//name来自……
  相关解决方案