用的是Qt 4.6.2开源版+sql 2005。
- QSqlQuery query = QSqlQuery(db);
- bool result = query.exec("SELECT Rno FROM tbl_phone WHERE Tel=\'158123456\'");
- bool active = query.isActive();
- bool sel = query.isSelect();
- bool valid = query.isValid();
- int rno = query.value(0).toInt();
数据库里面对应的rno是3,但query.value(0).toInt()却是0。
上面四个bool值除了result其它全是false。
在最后一句之后下断点,最后找到一个QSqlResult错误:
" [Microsoft][ODBC SQL Server Driver][SQL Server]对象名 'tbl_phone 无效。 [Microsoft][ODBC SQL Server Driver][SQL Server]该游标未声明。"刚开始怀疑是sql 2005的问题,所以把sql 2005 sp3补丁包给打上了,也还是不行。
现在怀疑是QT sql server驱动的事,但是觉得无从下手。