2014-02-16 104 views
1

美好的一天先生!我可以使用閱讀器從我的數據庫中調用數據,並且在獲得數據庫中的數據後,當我得到我的預期數據時,它們將顯示爲一個messageBox。這裏是我的示例代碼:正確使用閱讀器從ms訪問數據庫獲取數據

if (textBox5.Text == "") 
     { } 
     else 
     { 
      DialogResult ms = MessageBox.Show("Try Again", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop); 
      if (ms == DialogResult.OK) 
      { 
       textBox5.Clear(); 
       textBox1.Clear(); 
       listBox5.Items.Clear(); 
       textBox3.Clear(); 
       listBox4.Items.Clear(); 
      } 

     } 

     while (reader.Read()) 
     { 
      listBox4.Items.Clear(); 
      if (string.Compare(label1.Text, reader.GetString(0)) == 0) 
      { 
       for (int t = 1; t < 11; t++) 
       { 
        words.Add(reader.GetString(t)); 
       } 
      } 
      words.Shuffle(); 
      listBox4.Items.AddRange(words.ToArray()); 
     } 
     reader.Close(); 
     coon.Close(); 

我在這裏的問題是,當我將這些代碼中,有兩個消息框會出現,所以我刪除此代碼:

   textBox5.Clear(); 
       textBox1.Clear(); 
       listBox5.Items.Clear(); 
       textBox3.Clear(); 
       listBox4.Items.Clear(); 

我要的是我想說明的messageBox一次。你能幫助我嗎?

回答

0

您尚未顯示足夠的代碼,但我將假定此功能位於TextChanged事件中。

如果是這樣的話,你正在檢查TextBox5是否有一些文本,然後你清除窗體上的一些控件。你還沒有顯示其他事件和他們做了什麼,所以在這一點上很難告訴你更多。

考慮調試代碼和逐行單步運行它,這樣你可以按照程序流程的邏輯,看看打嗝時...

我也想改變第3行:

if (textBox5.Text == "") 
    { } 
    else 

if (!string.IsNullOrEmpty(this.textBox5.Text.Trim())),這意味着,如果字符串不爲空(null或空要準確)。

希望這會有所幫助。
祝您好運

+0

感謝您的回答,先生。 我想我知道程序中的打嗝在哪裏。 你給我看了一個很大的提示先生。 它幫助我很多tnx :) –