stackoverflowを検索しましたが、答えが見つかりません。この質問をはっきりとできるかどうかわかりません。とにかく私は英語を話す人ではありません=。=
開発にはC#とVisualStudio2010を使用しています。ユーザーがログインするためのフォームを作成しています。このフォームで、ロードイベント中にSQLサーバー接続をテストしたいと思います。
簡単そうです、コードは次のとおりです。
private void testDBconnection()
{
label3.Text = "Connecting to Database Server......";
SqlServerConnection ssc = new SqlServerConnection();
bool conOK = ssc.isConnectable(ssc.makeConnectionString(
SqlServerConnParamters.SqlServerIPAddress,
SqlServerConnParamters.AccountValidationDatabaseName,
SqlServerConnParamters.SqlServerUserName,
SqlServerConnParamters.SqlServerPassword,
5));
if (conOK)
{
label3.Text = "";
}
else
{
label3.Text = "Database connection failed";
button1.Enabled = false;
}
}
このメソッドをForm_Loadイベントに入れました。
ただし、実行時には、このフォームが表示される前でもこのプロセスが開始されます。また、検証はデフォルトで15秒間続く可能性があります(5に設定しましたが、時間もかかります)。接続に問題がある場合は、プログラムを開くことができなかったように表示されますが、データベースへの接続に失敗した後に表示されます。
私の意図は、Label3が「データベースサーバーに接続しています......」と表示してユーザーに通知し、接続が失敗したかどうかをユーザーに通知することです。
「Loaded_Complete」や「Loaded」などのフォームイベントを見つけようとしましたが(Form_Closedは見つかりました)、見つかりませんでした。
スレッドやプログラムのスリープなどと関係があると思います。誰かがこれについて私を助けてくれることを願っています。どうもありがとう!