• 7255阅读
  • 2回复

qt 做的登入框连接数据库时弹出not positioned on a valid record [复制链接]

上一主题 下一主题
离线doubel
 
只看楼主 倒序阅读 楼主  发表于: 2011-05-01
int login_system(QSqlQuery *query,int id,char *ip,char *pw)//登陆  
{  
query->exec(QString("SELECT COUNT(*) AS cnt FROM usertable WHERE ID=%1 AND PASSWORD='%2'")  
.arg(id).arg(pw));  
query->next();  
if(query->value(0).toInt()==0)  
return 1;  
query->exec(QString("select ONLINE from usertable where ID=%1").arg(id));  
query->next();  
if(query->value(0).toInt()==1)  
return 2;  
if(query->exec(QString("select IP from iptable where IP='%1'").arg(ip)))  
{  
if(query->next())  
return 3;  
else if(query->exec(QString("SELECT NAME,PIC FROM usertable where ID=%1").arg(id)))  
{  
query->exec(QString("INSERT INTO iptable VALUE('%1',%2)").arg(ip).arg(id));  
query->exec(QString("update usertable set ONLINE=1 where ID=%1").arg(id));  
query->exec(QString("SELECT NAME,PIC FROM usertable where ID=%1").arg(id));  
return 0;  
}  
else  
{  
return 4;  
}  
}  
else  
return 5;  
}  

以上是源码,输入id和密码后,弹出QSqlQuery::value: not positioned on a valid record的错误??  
[ 此帖被doubel在2011-05-01 00:40重新编辑 ]
离线wxj120bw

只看该作者 1楼 发表于: 2011-05-01
query->next();  改成 while(query->next()) {}  
离线doubel
只看该作者 2楼 发表于: 2011-05-03
回 1楼(wxj120bw) 的帖子
谢谢。可以了。。。
快速回复
限100 字节
 
上一个 下一个