我是OLEDB的新手。我在组合框上显示项目时遇到问题。
这是我的代码。
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中显示一个项目工作正常。 但我想在组合框上显示连接的项目。
我试过这样的事情,但我不行。
cboInstructor.DisplayMember = "LastName,FirstName";
和
cboInstructor.DisplayMember = "LastName" + "," + "FirstName";
此外,在查询中我尝试了这个。
string strSql = "SELECT ID, LastName + ', ' + FirstName AS 'Name' FROM Instructor";
cboInstructor.DisplayMember = "Name";
我试过了两个但它不起作用。请帮我。我需要显示或连接两列。
答案 0 :(得分:0)
我通常这样做是用我想要的东西创建一个类:
public class DisplayPerson
{
public int ID {get;set;}
public string FullName {get;set;}
}
然后我会创建一个List并使用数据表来填充它。然后使用List填充ComboBox。
答案 1 :(得分:0)
我不是C-progtrammer,所以我不能提供一些小贴士。
您的SQL语句应该可以使用 SELECT LastName +','+ Firstname as Commonname FROM YourDB
小心有时你应该使用&而不是+和“而不是'另一种方式可能是计算字段: 1.在表或数据集中添加新字段 2.选择oncalcfields事件,您可以在其中计算字段的值 newfield = firstname +','+ lastname