我有 STATUS 表,它包含以下列:
ID ColA ColB ColC
我希望这些3列显示在WPF表单的ComboBox中。精细!我将通过分别获得Distinct ColA,ColB,ColC 来做到这一点(如果我错了,请纠正我)
现在我想根据这些组合框在另一个表中插入一个条目。
此表 STATUS_HISTORY 具有以下结构(与我认为的问题无关):
ID EmpID (FK from Emp) StatusID (FK from Status) UpdationDate
现在我如何根据所选的ComboBox获取状态ID?我应该使用这样的查询:
SELECT ID from STATUS WHERE ColA LIKE '@SelectedColAValue' AND ColB LIKE '@SelectedColBValue' AND ColC LIKE '@SelectedColCValue'
这对我来说听起来非常简单。有没有更好的方法呢?
更新
STATUS 表包含如下行:
ID ColA ColB ColC
1 A1 B1 C1
2 A1 B1 C2
3 A1 B2 C1
4 A1 B2 C2
5 A1 B3 C1
6 A1 B3 C2
7 A2 B1 C1
8 A2 B1 C2
现在,如果我在ComboBox1中选择A1,它对应多行(依此类推..) 我希望它能进一步解释
答案 0 :(得分:0)
更简单的方法是创建Status
.NET对象并将其绑定到组合框。
您可以将同一个对象绑定到所有组合框,并显示要在组合框中显示的值。
检查DisplayMemberPath,SelectedItem,SelectedValue和SelectedValuePath
然后将SelectedItem
ID传递给数据库。
答案 1 :(得分:0)
将STATUS的ID列设为String,并将其生成为ColA + ColB + ColC。它对于所有行必须是唯一的。因此,用户从ComboBoxes中选择值使ComboBoxA.Value + ComboBoxB.Value + ComboBoxC.Value具有相同的连接。那将是PK插入STATUS_HISTORY。