Windowsフォームアプリケーションを作成しています。
コンボボックスで指定したホストに接続してDBとDBのテーブル一覧を表示させるのですが、
ホスト名が未入力の際はエラーメッセージを表示し、
指定されたホストが存在しない場合はエラーメッセージを表示させたいです。
ですが、下のようなコードを書いても
うまく通りません。
C#
1 private void button1_Click(object sender, EventArgs e) 2 { 3 4 if (comboBox1.SelectedItem != null && comboBox1.Text != null) 5 { 6 try 7 { 8 string tmpCon = "server={0};uid={1};pwd={2}"; 9 con = new MySqlConnection(); 10 con.ConnectionString = 11 String.Format(tmpCon, 12 comboBox1.Text, userID, password); 13 com = new MySqlCommand(); 14 com.Connection = con; 15 16 com.CommandText = "SHOW DATABASES;"; 17 con.Open(); 18 dtr = com.ExecuteReader(); 19 20 listBox1.Items.Clear(); 21 22 while (dtr.Read()) 23 { 24 listBox1.Items.Add(dtr[0]); 25 } 26 27 comboBox1.Items.Add(comboBox1.Text); 28 29 dtr.Close(); 30 con.Close(); 31 } 32 catch (NullReferenceException e1) 33 { 34 MessageBox.Show(e1.Message); 35 } 36 catch (Exception e1) 37 { 38 MessageBox.Show(e1.Message); 39 } 40 } 41 else 42 { 43 MessageBox.Show("未入力"); 44 } 45
未入力のときは未入力と表示されますが、
コンボボックスに意味のない文字列やIPアドレスを入力したときも未入力と出力されてしまいます。
未入力の際は未入力と、存在しないホストが入力された際は存在しないホストです等といったエラーを表示させるにはどうしたらよいでしょうか。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/07/25 07:38
退会済みユーザー
2017/07/25 07:38