c# - 如何将组合框与两个表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" />
此代码工作正常,但只显示一个表。我需要两张桌子,而不仅仅是一张!我应该怎么办?
解决方案
所以就像我在你的问题下面的评论中提到的那样:
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();
}
推荐阅读
- maven - 为什么 Intelli J Idea 社区版 19.2.1 没有在 maven respotory 上显示任何内容?
- azure-cosmosdb - 如何使用 Table API 通过 ARM 设置 Cosmos DB 帐户级别 RU
- javascript - 如何将输入的信息输入预先编写的报价集?
- c# - MailKit IMAP Idle - How to access 'done' CancellationTokenSource in CountChanged Event
- javascript - 单击 TD 内的“OnClick”函数时使用 jQuery 获取最近的 TR?
- arm - ARM Cortex-M4处理器中SDIV和UDIV的划分?
- android - 哪种算法更适合搜索功能?
- c++ - Emrun 和 headless chrome - 如何让这两者协同工作?
- mysql - 在 MySQL 中使用带有变量的 SELECT 语句创建表
- python - 每个反应器都在自己的线程中运行吗?