2016-08-20 66 views
1

我想將表「person」中的姓名連接到combobox1中。 任何解決方案,請!顯示combobox中的數據表的兩列

public MyForm() 
     { 
     InitializeComponent(); 
     combobox1_load(); 
     } 

    public void combobox1_load() 
    { 
     da = new SqlDataAdapter("select * from PERSONNE ", cn); 
     dt = new DataTable(); 
     try 
     { 
      cn.Open(); 
      da.Fill(dt); 
      comboBox1.DataSource = dt; 
      comboBox1.DisplayMember = "NOM_PERSONNE , PRENOM_PERSONNE"; 
      // comboBox1.ValueMember = "ID_PERSONNE"; 
     } 

     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

     finally 
     { 
      cn.Close(); 
     } 


    } 

我試圖改變這樣的SqlDataAdapter的 - > DA =新SqlDataAdapter的( 「」 選擇CONCAT(NOM_PERSONNE,」」,PRENOM_PERSONNE)從PERSONNE」,CN); .. 但它不是工作壓力太大!

+0

你的方式來連接域一起是正確的,但你應該到所得到的串聯起一個名字,並在DisplayMember屬性 – Steve

回答

0

解決!

public void combobox1_load() 
    { 
     da = new SqlDataAdapter("select concat(NOM_PERSONNE,' ',PRENOM_PERSONNE) as 'nom_prenom' from PERSONNE ", cn); 
     dt = new DataTable(); 
     try 
     { 
      cn.Open(); 
      da.Fill(dt); 
      comboBox1.DataSource = dt; 
      comboBox1.DisplayMember = "nom_prenom"; 
      // comboBox1.ValueMember = "ID_PERSONNE"; 
     } 

     catch (Exception ex) 
     { 
      MessageBox.Show(ex.Message); 
     } 

     finally 
     { 
      cn.Close(); 
     } 


    } 
0

試試這個

da = new SqlDataAdapter("select NOM_PERSONNE,PRENOM_PERSONNE from PERSONNE ", cn); 

代替

da = new SqlDataAdapter("select * from PERSONNE ", cn); 

comboBox1.DisplayMember = "NOM_PERSONNE" + "PRENOM_PERSONNE"; 

insted的的

comboBox1.DisplayMember = "nom_prenom"; 
+0

我試圖用這個名字,但組合框的所有項目都是這樣的 - >系統.Data.DataRowView –

1

SQL查詢應該是這樣的:「從PERSONNE 選擇的concat(NOM_PERSONNE,」」,PRENOM_PERSONNE)AS PERSONNEName與顯示部件應: comboBox1.DisplayMember =「PERSONNEName」;