标题:QT能否访问TimesTen数据?
作者:rsjwj
日期:2011-04-16 18:42
内容:
利用QODBC连接TimesTen成功,但QSqlQueryModel、QSqlQuery取数据不成功。
#1 [wxj120bw 04-16 21:18]
引用楼主rsjwj于2011-04-16 18:42发表的 QT能否访问TimesTen数据? :
利用QODBC连接TimesTen成功,但QSqlQueryModel、QSqlQuery取数据不成功。
没有错误或者警告的信息输出吗
#2 [rsjwj 04-18 22:49]
没有错误提示。我在tableview里和label里显示都没数据显示。
#3 [wxj120bw 04-19 23:39]
引用第2楼rsjwj于2011-04-18 22:49发表的:
没有错误提示。我在tableview里和label里显示都没数据显示。
数据库有数据吗 还有贴下连接和查询的语句代码出来
#4 [rsjwj 04-23 20:49]
bool test::connDb()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
db.setHostName("11.11.11.11");
db.setDatabaseName("timesTen");
db.setUserName("test");
db.setPassword("test");
if(!db.open())
{
QMessageBox::critical(0,QObject::tr("Database Error"),db.lastError().text());
return false;
}
QMessageBox::information(this,"aaa","bbb"); --------------1
return true;
}
void test::showData()
{
QSqlQuery staQuery("select max(rid) from testTable");
while(staQuery.next())
{
QMessageBox::information(this,"ccc","ddd");--------------2
ui.label->setTest(staQuery.value(0).toString());
}
}
主函数里先后调用connDb()和showData(),能弹出第一个窗口,第二个窗口弹不出来。label里不能显示结果。
#5 [wxj120bw 04-26 01:49]
引用第4楼rsjwj于2011-04-23 20:49发表的:
bool test::connDb()
{
QSqlDatabase db=QSqlDatabase::addDatabase("QODBC");
db.setHostName("11.11.11.11");
db.setDatabaseName("timesTen");
.......
Successfully executed SQL statements set the query's state to active so that isActive() returns true. Otherwise the query's state is set to inactive. In either case, when executing a new SQL statement, the query is positioned on an invalid record. An active query must be navigated to a valid record (so that isValid() returns true) before values can be retrieved.
摘取上面那段英文,使想楼主自己砍下,自己在QSqlQuery是不是少了什么操作。