找回密码
 立即注册
收起左侧

关于数据库连接问题

3
回复
7722
查看
[复制链接]
累计签到:410 天
连续签到:1 天
来源: 2013-7-9 17:21:57 显示全部楼层 |阅读模式
5Qter豆
我现在做了一个项目,要保证时时刻刻必须连接上数据库
如果数据库断开,我怎么判断?
QSqlDatabase 的 isOpen()好像不可行
例如:
本地安装了mysql
我open数据库成功之后,就可以执行相关操作,
然后我去服务把mysql相关服务停止,这个时候就不可以执行任何mysql语句,
这个时候应该断开连接了,但是我用isopen函数,却返回true。
数据库好像自己有一个机制:你连接数据库成功后,长时间不操作,他会自动断开,怎么判断是否连接

最佳答案

查看完整内容

你可以在执行真正SQL语句前,执行一个简单的,在正常情况下一定能成功执行的SQL语句,然后检测其执行状态.失败,说明连接断开...我用SQL SERVER.倒是没出现你的问题.只要SQL SERVER服务开启,什么时候都可以查询
回复

使用道具 举报

累计签到:1 天
连续签到:1 天
2013-7-9 17:21:58 显示全部楼层
你可以在执行真正SQL语句前,执行一个简单的,在正常情况下一定能成功执行的SQL语句,然后检测其执行状态.失败,说明连接断开...我用SQL SERVER.倒是没出现你的问题.只要SQL SERVER服务开启,什么时候都可以查询

点评

我记得 好像有的数据库会有一个功能, 如果你连接数据库后,长时间不操作,数据库会自动的把你断开  详情 回复 发表于 2013-7-11 10:05
回复

使用道具 举报

累计签到:410 天
连续签到:1 天
2013-7-11 10:05:59 显示全部楼层
jizhan070202 发表于 2013-7-11 09:24
你可以在执行真正SQL语句前,执行一个简单的,在正常情况下一定能成功执行的SQL语句,然后检测其执行状态.失败 ...

我记得  好像有的数据库会有一个功能,
如果你连接数据库后,长时间不操作,数据库会自动的把你断开
回复

使用道具 举报

累计签到:1568 天
连续签到:1 天
2013-7-15 00:09:10 显示全部楼层
可以尝试下执行一条查询语句,如果不可以执行,表明链接失败了,试试这个方法来判断可以不。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

公告
可以关注我们的微信公众号yafeilinux_friends获取最新动态,或者加入QQ会员群进行交流:190741849、186601429(已满) 我知道了