ADO如何立即取消异步连接,及操作

huanglin03 2017-08-15 08:25:01
觉得ODBC使用存储过程太麻烦了,所以就使用了ADO,但是没想到ADO使用起来也有这么多的问题

目前主要是使用的是ADO异步连接远程数据库,但是如果网络有故障会等到超时才返回,所以把连接写成了异步,自己判断连接耗时,超过时间想让异步操作返回,但是cancel方法调用了无效啊!求大神支招!

或者有其它连接数据库的好的库也行,谢谢了!
...全文
541 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2017-08-16
  • 打赏
  • 举报
回复
Close 方法 关闭打开的对象及任何相关对象。 语法 object.Close 说明 使用 Close 方法可关闭 Connection 对象或 Recordset 对象以便释放所有关联的系统资源。关闭对象并非将它从内存中删除,可以更改它的属性设置并且在此后再次打开。要将对象从内存中完全删除,可将对象变量设置为 Nothing。 Connection 使用 Close 方法关闭 Connection 对象的同时,也将关闭与连接相关联的任何活动 Recordset 对象。与正在关闭的 Connection 对象相关联的 Command 对象将被持久保留,但不再与 Connection 对象关联,即它的 ActiveConnection 属性将被设置为 Nothing,同时,Command 对象的 Parameters 集合将清除任何提供者定义的参数。 可以随后调用 Open 方法重新建立与相同数据源或其他数据源的连接,关闭 Connection 对象后,调用任何需要打开与对数据源连接的方法都将产生错误。 当连接上有打开的 Recordset 对象时,关闭 Connection 对象将回卷所有 Recordset 对象的挂起更改。在事务进行过程中显式关闭 Connection 对象(调用 Close 方法)将产生错误。如果在事务进行过程中 Connection 对象超出范围,那么 ADO 将自动回卷事务。 Recordset 使用 Close 方法关闭 Recordset 对象的同时,将释放关联的数据和可能已经通过该特定 Recordset 对象对数据进行的独立访问。随后可调用 Open 方法重新打开具有相同属性或已修改属性的 Recordset。在 Recordset 对象关闭后,调用任何需要活动游标的方法将产生错误。 如果正在立即更新模式下进行编辑,调用 Close 方法将产生错误,应首先调用 Update 或 CancelUpdate 方法。如果在批更新期间关闭 Recordset 对象,则自上次 UpdateBatch 调用以来所做的修改将全部丢失。 如果使用 Clone 方法创建已打开的 Recordset 对象的副本,关闭原始 Recordset 或其副本将不影响任何其他副本。
赵4老师 2017-08-15
  • 打赏
  • 举报
回复
学会使用存储过程和作业。
huanglin03 2017-08-15
  • 打赏
  • 举报
回复
引用 2 楼 zhao4zhong1 的回复:
学会使用存储过程和作业。
如何立即取消异步连接啊,cancel根本不起作用
zgl7903 2017-08-15
  • 打赏
  • 举报
回复
oyljerry 2017-08-15
  • 打赏
  • 举报
回复
ADO异步了,就不要cancel了,它并不一定支持取消

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧