在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;
}
打印返回值一直是真,把各个数据打印出来也是对的,但是数据库里面就是找不到这条记录。
求大牛们告知啊,过几天就要毕业答辩了 怎么都调试不出来