2016-05-16 39 views
0

我有一個id文本框和一個名稱,部門組合框和一個分區,我已將它們與MS Access關聯,但部門和分區組合框僅顯示所選值不是包含所有項目的列表),我需要它給我一個包含所有項目的列表,並重點關注該ID的當前值。在Combobox中顯示列表項並關注來自數據庫的預留值

這是我到目前爲止有:

private void id_txt_TextChanged(object sender, EventArgs e) 
    { 
     try 
     { 
      bool hasdata = false; 
      if (id_edit.Text != "") 
      { 
       connection.Open(); 
       OleDbCommand command = new OleDbCommand(); 
       command.Connection = connection; 
       String query = " SELECT * FROM emp_personal WHERE ID = " + Int32.Parse(id_edit.Text) + ""; 
       command.CommandText = query; 
       OleDbDataReader reader = command.ExecuteReader(); 
       OleDbDataAdapter adapter = new OleDbDataAdapter(query, connection); 
       while (reader.Read()) 
       { 
        hasdata = true; 
        name_edit.Text = reader["Name"].ToString(); 

        DataSet ds = new DataSet(); 
        adapter.Fill(ds); 

        department_edit.DataSource = ds.Tables[0]; 
        department_edit.DisplayMember = "Department"; 
        department_edit.ValueMember = "Department"; 


        division_edit.DataSource = ds.Tables[0]; 
        division_edit.DisplayMember = "Division"; 
        division_edit.ValueMember = "Division"; 
       } 
       connection.Close(); 
      } 

      if (!hasdata) 
      { 
       name_edit.Clear(); 
       department_edit.SelectedIndex = -1; 
       division_edit.SelectedIndex = -1; 

      } 
     } 

     catch (Exception ex) 
     { 
      MessageBox.Show("Error " + ex); 
      connection.Close(); 
     } 
    } 

感謝。

回答

0

A液:

while (reader.Read()) 
       { 
        hasdata = true; 
        name_edit.Text = reader["Name"].ToString(); 
        department_edit.Text = String.Empty; 
        department_edit.SelectedText = reader["Department"].ToString(); 
        division_edit.Text = String.Empty; 
        division_edit.SelectedText = reader["Division"].ToString(); 
       } 
相關問題