※ ChatGPTを利用し、要約された質問です(原文:SQLServer,接続失敗時のエラー処理について)
SQLServer接続失敗時のエラー処理について
このQ&Aのポイント
テキストボックスでユーザーからインスタンス名やパスワードを受け取り、接続文字列を作成し、接続成功するが、間違っていた場合のエラー処理方法について質問です。
VisualStudioでデバッグしているため、エラーの内容を参照できますが、ユーザーにエラー内容を伝えるにはどうすればいいでしょうか?
VisualStudio C#でエラーの内容をユーザーに伝える方法について教えてください。
SQLServer,接続失敗時のエラー処理について
現在、VisualStudio C# にて、
接続~レコード編集のアプリを作成しております。
テキストボックスでユーザーからインスタンス名やパスワードを受け取り、接続文字列を作成。
それが正しければ接続成功…と、ここまではできています。
しかし、接続文字列が間違っていた時、
インスタンス名やパスワードが間違っていた時等
当然エラーになりますがどのようなエラー処理を記述すればよいのでしょうか?
現在VisualStudioでデバッグしているため、
自分は「error: 25 - 接続文字列が有効ではありません」
というエラー内容を参照できますが、
この「25番のエラーが起きているんだな」というのを
ユーザーにどうやって伝えればよいのでしょう?
下記の★印の部分に、何かしら…Cでいうなら
(DB接続関数の引数にエラー番号を持つと仮定して)
if(ret =! 0){
Logprint("エラー%dによる終了",err);
return 1; }
として、ユーザーが接続の失敗を知ることができますがが…
VisualStudio C#ではどうすればよいのか判らず困っています。
どうぞよろしくお願いします。
【現在のソース】
private void connectbutton_Click(object sender, EventArgs e)
{
// 接続文字列を生成する
string stConnectionString = string.Empty;
//DataSource ([サーバー名]+[インスタンス名]を連結)
//サーバー名とインスタンス名の区切りは[\]でなく[\\]を挿入
stConnectionString += "Data Source = "
+ textBox1.Text + "\\" + textBox2.Text + ";";
//Initial Catalog (データベース名を取得)
stConnectionString += "Initial Catalog = "
+ textBox3.Text + ";";
//UserIDは[sa]で固定
stConnectionString += "UID = s;";
//Passwordを入力し、接続文字列の最後に[;]を付ける
stConnectionString += "PWD = "
+ textBox4.Text + ";";
// SqlConnection の新しいインスタンスを生成する
System.Data.SqlClient.SqlConnection cSqlConnection
=(new System.Data.SqlClient.SqlConnection
(stConnectionString) );
// データベース接続を開く
cSqlConnection.Open();
// 接続に成功した旨を表示する(デバッグ用
MessageBox.Show("Microsoft SQL Server に接続");
★
//オブジェクトの破棄を保証
cSqlConnection.Close();
cSqlConnection.Dispose();
}
お礼
早速の回答ありがとうございます。 早速、try~catch句を挿入してみたところ意図通りの分岐処理ができました。 「C# .net 分岐 エラー処理」等のキーワードで検索していたのですが なかなか答えが見つかりませんでした。 「C# try catch 」だと知りたかった内容がごろごろ… 現在Cの知識を持っていますので、「C#ではこうやるのか」と 既存の知識と繋がっていくのが楽しいです。 どうもありがとうございました。