2015-02-07 48 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

相关问题