我正在编写应用程序,将其连接到DB,并重复(1分钟间隔)从数据库读取数据。它类似于RSS提要阅读器,但使用的是本地DB。如果数据读取失败,我将尝试重新建立连接。我把TADOConnection和TADOQuery放在表单上(所以没有动态创建)来设计它。我的目的是从用户的角度来保持应用程序“活动”,因此我将连接和读取部分放在一个线程中。问题是,怎样才能做到最好呢?
我的设计如下:
在一个单独的线程(TADOConnection)
。
是更好的动态创建TADOConnection或TADOQuery,还是不重要?是否最好在线程或其他东西中使用关键部分(我同时只有一个访问组件的权限,而只有一个线程) ?
谢谢你的建议
发布于 2011-02-14 15:27:34
这个问题是相当主观的,可能不是主观的,而是主观的。下面是我选择动态创建ADO对象的原因:
发布于 2011-02-20 09:36:23
运行线程中的所有内容。在线程中有一个定期计时器,用于打开DB连接、读取数据、将其"posts“回主线程,然后断开连接。线程在等待时间时需要“休眠”,例如在Windows上,甚至是由计时器发出信号。DB组件是线程的本地和私有组件,可以在线程执行开始时(在应用程序启动时)在线程内创建,在线程执行完成时(在应用程序关闭时)释放。这将始终有效,无论DB连接是否暂时可用,主线程甚至不必与"DB线程“通信。这是一种我一直在使用的架构,而且是完全可以防弹的。
https://stackoverflow.com/questions/4993768
复制相似问题