首页 > 解决方案 > 如何将组合框与两个表wpf链接

问题描述

如何将数据库中的两个不同表链接到组合框?

我与表格的组合框连接是通过以下代码完成的:

 combobox1.ItemsSource = database.Mavads.ToList();
            combobox1.DisplayMemberPath = "MavadName";
            combobox1.SelectedValuePath = "MavadFe";

和:

<ComboBox HorizontalAlignment="Left" Margin="826,168,0,0" VerticalAlignment="Top" Width="120" Name="combobox1" SelectionChanged="combobox1_SelectionChanged" TabIndex="3"  IsTextSearchEnabled="True" Loaded="combobox1_Loaded"   />

此代码工作正常,但只显示一个表。我需要两张桌子,而不仅仅是一张!我应该怎么办?

标签: c#wpfvisual-studiovisual-studio-2012combobox

解决方案


所以就像我在你的问题下面的评论中提到的那样:

1) 编写 SQL 查询

2)连接你的数据库

3)做查询

4) 阅读你的结果

5)将其绑定到您的组合框

您不能将多个数据源添加到组合框,因此您应该在代码中从 2 个表中创建一个表。

代码中有这样的东西,但你应该做修改(例如连接字符串、数据库、表名......)。

string sqlQuery = "SELECT * FROM Mavads INNER JOIN OtherTable ON Mavads.CD = OtherTable.AB;"
using (SqlConnection sqlConnection = new SqlConnection("YourConnectionString"))
{
    SqlCommand sqlCmd = new SqlCommand(sqlQuery, sqlConnection);
    sqlConnection.Open();
    SqlDataReader sqlReader = sqlCmd.ExecuteReader();

    while (sqlReader.Read())
    {
        comboBox.Items.Add(sqlReader["name"].ToString());
    }

    sqlReader.Close();
}

推荐阅读