2015-02-07 19 views
0

我是OLEDB中的新成員。我在顯示組合框上的項目時遇到問題。如何從OLEDB查詢中組合顯示成員在Combobox C#中的兩個字段

這是我的代碼。

string strCon = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\database\database.accdb;Persist Security Info=False"; 

     try 
     { 
      using (OleDbConnection conn = new OleDbConnection(strCon)) 
      { 
       conn.Open(); 
       string strSql = "SELECT * FROM Instructor"; 
       OleDbDataAdapter adapter = new OleDbDataAdapter(new OleDbCommand(strSql, conn)); 
       DataSet ds = new DataSet(); 
       adapter.Fill(ds); 

       cboInstructor.DataSource = ds.Tables[0]; 
       cboInstructor.DisplayMember = "LastName"; 
       cboInstructor.ValueMember = "ID"; 
      } 
     } 
     catch (Exception ex) 
     { 
      Console.WriteLine(ex.Message); 
     } 

在Combobox中顯示一個項目工作正常。 但我想在組合框上顯示concatinated項目。

我試過這樣的東西,但我不工作。

cboInstructor.DisplayMember = "LastName,FirstName"; 

cboInstructor.DisplayMember = "LastName" + "," + "FirstName"; 

此外,在查詢這個我試過。

string strSql = "SELECT ID, LastName + ', ' + FirstName AS 'Name' FROM Instructor"; 

cboInstructor.DisplayMember = "Name"; 

我試過但它不起作用。請幫幫我。我需要顯示或合併兩列。

回答

0

我通常做的方式是創建一個類有我想要的東西:

public class DisplayPerson 
{ 
    public int ID {get;set;} 
    public string FullName {get;set;} 
} 

然後,我會創建一個列表,並使用數據表來填充它。然後使用List來填充組合框。

0

我不是C-progtrammer,所以我不能提供一些snipplet。

你的SQL語句應該 SELECT姓氏+「」 +姓工作作爲COMMONNAME FROM YourDB

要小心,有時你應該使用&代替+和「,而不是」

另一種方法可能是一個計算字段: 1.爲您的表格或數據集添加一個新字段 2.選擇oncalcfields事件,您可以在其中計算字段的值,如 newfield = firstname +','+ lastname

相關問題