• 3216阅读
  • 6回复

QT 连接数据库 软件空闲几个小时就连接不上了! [复制链接]

上一主题 下一主题
离线dafei2015
 

只看楼主 倒序阅读 楼主  发表于: 2019-07-02
软件在初始化的时候使用ODBC连接SQL Sever, 软件如果空闲几个小时后,Qtableview上的数据就会消失,如果软件再执行查询操作,
就会提示:Unable to execute statement: "[Microsoft][ODBC SQL Server Driver]通讯链接失败
我想在软件里面判断是否断开了再进行重新连接,但是实际验证这种情况不知道用什么功能去判断,
请问大佬们,这群情况应该如何处理?谢谢了
本帖提到的人: @20091001753 @toby520 @fsu0413
离线toby520

只看该作者 1楼 发表于: 2019-07-02
查询之前 判断下 数据库是否连接正常呗
QtQML多多指教开发社区 http://qtclub.heilqt.com
将QtCoding进行到底
关注移动互联网,关注金融
开发跨平台客户端,服务于金融行业
专业定制界面
群号:312125701   373955953(qml控件定做)
离线dafei2015

只看该作者 2楼 发表于: 2019-07-02
回 toby520 的帖子
toby520:查询之前 判断下 数据库是否连接正常呗 (2019-07-02 18:00) 

   Test_DB=QSqlDatabase::addDatabase("QODBC");
    Test_DB.setDatabaseName(Connect_String);

怎么判断,判断Test_DB.isValid()没用啊,执行这个的时候已经报错了

用这个吗?QSqlDatabase::isValid()?  
离线dafei2015

只看该作者 3楼 发表于: 2019-07-03
回 toby520 的帖子
toby520:查询之前 判断下 数据库是否连接正常呗 (2019-07-02 18:00) 

好像没有办法判断连接是否正常  都返回的是true
离线圣域天子

只看该作者 4楼 发表于: 2019-07-03
SELECT VERSION();
离线dafei2015

只看该作者 5楼 发表于: 2019-07-03
回 圣域天子 的帖子
圣域天子:SELECT VERSION(); (2019-07-03 11:34) 

只能通过query.isactive  来确定
离线圣域天子

只看该作者 6楼 发表于: 2019-07-03
回 dafei2015 的帖子
dafei2015:只能通过query.isactive  来确定 (2019-07-03 14:11) 

你多试试吧,我以前测试中 isActive() 是不保证的。
但是这些方面与不同的数据库是有关系的,有的可以,有的不行。
快速回复
限100 字节
 
上一个 下一个