将dbx连接分离到线程

时间:2010-01-12 18:44:18

标签: mysql delphi multithreading delphi-2010 dbx

我创建了一个使用dbx连接到mysql数据库的小应用程序。它适用于我的本地mysql服务器,但它应该适用于远程服务器。

连接到远程服务器需要几秒钟,冻结应用程序。

所以我的问题是,如何将连接代码放在不同的线程中?

我必须以某种方式将该连接传递给主线程,以便我在主窗体上的dbgrid有效。

我读到在不同线程中工作的db东西应该有自己的连接。所以我不确定如何做我想做的事。

有什么想法吗?有关使用远程服务器的任何内容吗?

感谢。

编辑:我在表单上使用的组件是:TSQLConnection - > TSimpleDataSet> TDataSource> TDBGrid中。

2 个答案:

答案 0 :(得分:1)

如果您的线程要同时进行数据库访问,则每个线程只需要一个连接。基本上你想要的是一个线程连接,并在建立连接后回复你。您可以在一个线程中执行此操作,并且当线程准备就绪(即建立连接)时,它可以将消息发送回主线程,以使其知道dbx连接现在可用。有关如何设置线程以及在线程和主VCL线程之间进行通信的信息,请参阅本教程。 Threading Tutorial

答案 1 :(得分:0)

这确实帮助我在rad studio中做了多线程应用程序 Writing multi-threaded applications Index

如果他们发布任何其他事情并且生病了,请尝试帮助