2013-04-10 176 views
0

問候程序員,C#我如何從數據庫中獲取數據,文本框

我有一個組合框,在我的Windows中的一些文本框狀地連接到一個數據庫。我的想法是,當組合框的值改變文本框中的數據時也會發生變化。就像當我在組合框中選擇客戶ID時,文本框將加載客戶的數據,例如全名或地址等。但是,當我打開表單時,組合框disapear和文本框保持空白。我正在使用Access數據庫和Visual Studio 2012進行編碼。這裏是我的代碼..

C#代碼

private void comboBox1_SelectedValueChanged(object sender, EventArgs e) 
    { 
     string pc = Convert.ToString(comboBox1.SelectedValue); 
     string sql = "SELECT * FROM Customer WHERE CustomerID="+ pc; 
     Data.Customer_Data(sql, pc); 

     txtfullname.Text = Data.fullname; 
     txtadress.Text = Data.adress; 
     txtcity.Text = Data.city; 
     txtemail.Text = Data.email; 

    } 

我的類中調用數據:

public static string cs = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + Application.StartupPath + "\\Database1.accdb"; 
public static string fullname = ""; 
public static string adress = ""; 
public static string city = ""; 
public static string email = ""; 
public static void Customer_Data(string sql, string pc) 
    { 
      if (pc == "") 
      { 
       return; 
      } 

      else 
      { 
       OleDbConnection oleDbConnection1 = new System.Data.OleDb.OleDbConnection(cs); 
       oleDbConnection1.Open(); 
       OleDbCommand oleDbCommand1 = new System.Data.OleDb.OleDbCommand(sql,oleDbConnection1); 
       OleDbDataReader reader = oleDbCommand1.ExecuteReader(); 

       if (!reader.Read()) 
        return; 

       fullname = reader["fullname"].ToString(); 
       adress = reader["adress"].ToString(); 
       city = reader["city"].ToString(); 
       email = reader["email"].ToString(); 


       oleDbConnection1.Close(); 
      } 
    } 
+0

W00t comboBox disapears?你有沒有將comboBox屬性設置爲false? – Obama 2013-04-10 11:38:17

+0

你在form_Load事件中有什麼代碼? – StackTrace 2013-04-10 11:45:50

+0

不,它只是消失 – user2241062 2013-04-10 11:46:09

回答

-1

你可以嘗試以下的調試技術之一,看看發生了什麼。

  1. 在此行之後Data.Customer_Data(sql, pc);是否正確加載屬性的數據?
  2. 你還可以檢查是否有相應的客戶ID傳遞的數據庫值?所以這個條件if (!reader.Read()) return;不被執行。
  3. 檢查你的頁面加載方法(我相信它不能與組合框的可見性一起玩,但嘿,試試沒有什麼壞處)。

如果這裏沒有提到這些工作,那麼可能會有更多的代碼會有所幫助。

+0

分別嘗試閱讀器[0]而不是閱讀器[「全名」]和閱讀器[1]閱讀器[「地址」]。 – 2013-04-10 11:54:47

+0

同時檢查這個類的靜態變量是否搞亂了某些東西。 – 2013-04-10 11:57:17

+0

我發現這個問題,它的數據庫,另一個表名中有一個空格.. Visual Studio不是這樣的..感謝anwser反正 – user2241062 2013-04-10 12:10:31

相關問題