2016-08-20 4 views
1

"person"という表の名前と姓をコンボボックス1に連結したいとします。 すべての解決をしてください! ... しかし、そうではありません。( "PERSONNEからPRENOM_PERSONNE)、「「、(NOM_PERSONNEを連結を選択」、CN")> ダ=新しいSqlDataAdapterオブジェクト -コンボボックスのデータテーブルから2列を表示

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オブジェクトを変更しようとしましたあまりにWORKING !!

+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 * from PERSONNE ", cn); 
0123のこの

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

を試してみてください「PERSONNE からPERSONNEName AS CONCAT(NOM_PERSONNE、」」、PRENOM_PERSONNE)を選択し、表示部材は次のようになります。

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

は、SQLクエリは、このようにする必要があり

comboBox1.DisplayMember = "nom_prenom"; 
+0

でその名前を使用する必要がありますが、コンボボックスのすべての項目は、そのようなものです - >システム.Data.DataRowView –

1

のinsted : comboBox1.DisplayMember = "PERSONNEName";

関連する問題