找回密码
 立即注册
收起左侧

【一个非常奇怪的问题:qdebug 影响运行结果】

1
回复
3567
查看
[复制链接]
累计签到:18 天
连续签到:1 天
来源: 2016-1-28 09:07:19 显示全部楼层 |阅读模式

马上注册,查看详细内容!注册请先查看:注册须知

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
代码:
bool QDao::getReg(QString &strCode)
{
    QString sql  = "select reg_code from t_reg where reg_status = 0;";
    //qDebug()<<sql;

    m_database.open();
    QSqlQuery query = m_database.exec(sql);
    if(!query.next())
    {
        return false;
    }
    strCode = query.value("reg_code").toString();
    query.clear();
    m_database.close();
    return true;
}
中间有句 qDebug()<<sql;,当把注释放开的时候,获取到的strCode为空,当注释掉的时候,获取的正常。
另外,QDao为单例模式。


如果m_database在构造函数中open保持长连接的时候,在这里不使用open,获取的strcode同样为空。。这是何解呢?
回复

使用道具 举报

累计签到:18 天
连续签到:1 天
2016-1-29 09:16:13 显示全部楼层
终于找到问题了。。。。字符串用法有点问题。
原先的用法:
return QString::fromStdString(decodeResult.substr(0,(iBaseLen-i)));//这个用法是有问题的,返回为空字符串

现在的用法:
string drsub = decodeResult.substr(0,(iBaseLen-i));
return QString::fromStdString(drsub );

这样就OK了

有没有大神可以解释下?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了