2011-06-24 16 views
1

私のアプリケーションがフリーズするのを避けるために、MySQLデータベースへの非同期接続をしようとしています。私が思っていた:非同期MySQL

  • これが可能である -
  • 何コンストラクタ文字列がどのように見えるのでしょうか??これまでのところ私です:Server=...;Database=...;User ID=...;Password=...;Pooling=True - 私は非同期処理を可能にする何かを追加する必要がありますか? ( "Asynchronous Processing = true" does not work)

これまでこれを実行しましたか?どんな助けもありがとう。本当にありがとう!!!参照用

、これは(C#)を達成しようとするものイム基本的には次のとおりです。

cmd = new MySqlCommand(query, con); 
    IAsyncResult iSynch; 
    iSynch= cmd.BeginExecuteReader(); 
    while(!iSynch.IsCompleted){ 
     print("loading loading loading"); 
    } 
    rdr = cmd.EndExecuteReader(iSynch); 
+1

BackGroundWorkerを使用して別のスレッドを開始する:http://msdn.microsoft.com/en-us/library/system.componentmodel.backgroundworker.aspx – davek

+0

@davek BackGroundWorkerはWindows固有であるため使用できないと思う右? (私は団結して働いています) – Ted

答えて

4

処理が完了するまで実際にあなたが提案しているコードはまだあなたのアプリケーションを凍結するでしょう。

これを行う方法は、クエリとUi更新(Invoke)を実行する2番目のスレッドを生成し、最初のスレッドを自由に処理してWindowsメッセージを処理することです。