私はC#4.0 WinFormアプリケーションに取り組んでいます。これらは実際には会計関連のアプリケーションであり、主な機能はデータベースにデータを保存して取得することです。
SqlServer 2008 r2 Express を使用したバックエンド。
問題は、データベースでコマンドを実行するときに数秒かかることです。その時点で、アプリケーションのメイン ウィンドウが停止します。
データベースでコマンドを実行すると、コマンド全体がデータベースで実行されると、メインアプリケーションで実行が返されます。
「NonQuery()」のように
そのため、フォームの前にフォームを表示し、コマンドの後にそのフォームを閉じていますが、メインアプリケーションで実行が停止しているため、フォームにGIF画像を配置しているため、コマンドが実行されるまでgifはアニメーションを表示しません.
私はそれをBackGroundWorkerに入れましたが、メインスレッドが停止しているため、その子スレッドも停止します。
データベース トランザクションをバックグラウンド ワーカーに入れることはできません。これは、データベースから取得した結果に依存する場合があるためです。また、データがフェッチされなくなるまでアプリケーションを停止したいのですが、この場合も待機フォームで gif 画像が表示されるようにする必要があります。そのアニメーション。
この場合、何をすべきか、どのようにすべきか。