C# 基于ComboBox中的选定列从表中获取ID(PK)
我有一个状态表,其中包含以下列: 可乐 我希望这3列显示在WPF表单的组合框中。好的我将分别得到不同的可乐,可乐,可乐。如果我错了,请纠正我 现在,我想基于这些组合框在另一个表中插入一个条目 此表,STATUS_HISTORY具有以下结构,与我认为的问题无关: 来自Emp状态的ID EmpID FK来自状态更新日期的ID FK 现在,如何根据所选的组合框获取状态ID?我是否应该使用这样的查询:C# 基于ComboBox中的选定列从表中获取ID(PK),c#,sql,sql-server,wpf,C#,Sql,Sql Server,Wpf,我有一个状态表,其中包含以下列: 可乐 我希望这3列显示在WPF表单的组合框中。好的我将分别得到不同的可乐,可乐,可乐。如果我错了,请纠正我 现在,我想基于这些组合框在另一个表中插入一个条目 此表,STATUS_HISTORY具有以下结构,与我认为的问题无关: 来自Emp状态的ID EmpID FK来自状态更新日期的ID FK 现在,如何根据所选的组合框获取状态ID?我是否应该使用这样的查询: SELECT ID from STATUS WHERE ColA LIKE '@SelectedCol
SELECT ID from STATUS WHERE ColA LIKE '@SelectedColAValue' AND ColB LIKE '@SelectedColBValue' AND ColC LIKE '@SelectedColCValue'
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
对我来说,这听起来是一种非常琐碎的方式。有没有更好的办法
更新
状态表有如下行:
SELECT ID from STATUS WHERE ColA LIKE '@SelectedColAValue' AND ColB LIKE '@SelectedColBValue' AND ColC LIKE '@SelectedColCValue'
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,它对应于多行,以此类推。。
我希望它能进一步解释更简单的方法是创建Status.NET对象并将其绑定到组合框。 可以将同一对象绑定到所有组合框,并显示希望在组合框中显示的值 检查、和
只需将SelectedItem ID传递给数据库 将STATUS的ID列设置为字符串,并像ColA+ColB+ColC一样生成它。它对于所有行都必须是唯一的。因此,用户从组合框中选择的值与ComboBoxA.Value+ComboBoxB.Value+ComboBoxC.Value的表达式相同。这将被PK插入状态历史记录。为什么要在三个不同的组合框中显示相同的表行?这些值相互独立吗?不,它们不是独立的。它们就像真值表或这三列的排列!我们做到了。但通过这样做,我们将得到相同列的冗余值,为什么不呢?或者用户可以编辑状态表?如果是这样,请告诉我这种设计的目的。