5

dbx を使用して mysql db に接続する小さなアプリを作成しました。ローカルの mysql サーバーでは問題なく動作しますが、リモート サーバーでは動作するはずです。

リモート サーバーへの接続には数秒かかり、アプリがフリーズします。

私の質問は、接続コードを別のスレッドに配置するにはどうすればよいですか?

メイン フォームにある dbgrid が機能するように、何らかの方法でその接続をメイン スレッドに渡す必要があります。

別のスレッドで動作するデータベースには独自の接続が必要であることを読みました。だから私は自分がやりたいことをする方法がわかりません。

何か案は?リモートサーバーの操作について読むべきものはありますか?

ありがとう。

編集:フォームで使用しているコンポーネントは、TSQLConnection -> TSimpleDataSet > TDataSource > TDBGrid です。

4

2 に答える 2

1

スレッドが同時データベース アクセスを行う場合は、スレッドごとの接続のみが必要です。基本的に必要なのは、スレッドが接続され、接続が確立されたときに戻ってくることです。これはスレッドで行うことができ、スレッドの準備が整ったら (接続が確立されると)、メッセージをメインスレッドに送り返して、dbx 接続が利用可能になったことを知らせることができます。スレッドを設定する方法、およびスレッドとメイン VCL スレッドの間で通信する方法については、このチュートリアルを参照してください。 スレッドのチュートリアル

于 2010-01-13T16:05:19.377 に答える
0

これは、rad studio でマルチスレッド アプリケーションを作成するのに本当に役立ちました マルチスレッド アプリケーションの作成 インデックス

彼らが何か他のものである場合は、投稿して病気を助けようとします

于 2010-01-12T21:48:16.020 に答える