2016-08-20 69 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”;