我正在编写应用程序,它连接到数据库并重复(1 分钟间隔)从数据库中读取数据。它类似于 RSS 提要阅读器,但具有本地数据库。如果数据读取失败,我尝试重新建立连接。我设计它时将 TADOConnection 和 TADOQuery 放在表单上(因此没有动态创建)。我的目标是从用户的角度保持应用程序“活跃”,因此我将连接和阅读部分放在一个线程中。问题是,如何做到最好?
我的设计如下所示:
- 应用程序启动时,TADOConnection 和 TADOQuery 与表单一起创建
- 在单独的线程中打开连接 (TADOConnection)
- 如果连接建立,则挂起连接线程,在窗体上启动定时器,它会周期性地恢复另一个线程进行数据读取
- 如果读取线程成功,则没有任何反应,并且表单计时器继续运行,如果失败,则线程停止计时器并恢复连接线程
动态创建 TADOConnection 或 TADOQuery 更好还是无关紧要?在线程中使用例如关键部分是否更好(我同时只有一个组件访问权限并且只有一个线程)?
感谢您的建议