a547981661
a547981661
采纳率100%
2017-06-15 08:37 阅读 1.8k

Qt使用MySql数据库与多线程

在TcpConThread.h中申明 MySqldb *db;
子线程的一个槽函数
void TcpConThread::on_Ready_Read()
{
db = new MySqldb;
。。。。
}
为什么使用db能查询到数据但是就是无法对数据库进行任何的修改和插入,插入函数
int MySqldb::insertNewUser(int id, QString password, QString name)
{
int ret;
QSqlQuery query;
QString sql = QString("select userID from userinfo");
query.exec(sql);
while (query.next())
{
if ( query.value(0).toInt() == id )
{
ret = 0; //已经存在
}
}
int flag = 0;
QString ip = "";
query.prepare("insert into userinfo (userID, passwd, usernName, flag, IP) values (?,?,?,?,?)");
query.bindValue(0,id);
query.bindValue(1,password);
query.bindValue(2,name);
query.bindValue(3,flag);
query.bindValue(4,ip);
if(!query.execBatch())
{
ret = -1;//插入失败
}
else
{
ret = 1;
}
return ret;
}
打印返回值一直是真,把各个数据打印出来也是对的,但是数据库里面就是找不到这条记录。
求大牛们告知啊,过几天就要毕业答辩了 怎么都调试不出来

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享

相关推荐