我应该遵循哪个?

时间:2013-11-23 11:12:48

标签: sql-server vb.net gridview dataset

我使用了主题状态(例如,有效,无效,已预订等等),而我正在维持它们的简短形式。

但在编程期间,我需要在网格视图中显示其全名。

我应该遵循哪一步以及为什么?

1)在包含完整表单的运行时添加另一列。 2)每次应用条件检查状态并将其值应用于控制。 3)任何其他?

2 个答案:

答案 0 :(得分:1)

你有一个简短形式的专栏,让我们假装:“行动”,“ina”,“bkd”等。

您想要显示“主题有效”,“主题无效”,“已预订”等。

正如你所说,你可以简单地添加一个包含这些值的列,但是这会浪费空间,你在每个具有该状态的记录中都有一个“主题活动”副本,对于所有其他记录也是如此。

在表示层中使用逻辑可能很好,在UI中有一些简单的查找表。例如,下拉列表通常具有该功能。如果您需要支持多种语言,这可能很有用。您肯定不希望数据库中有英文专栏,法文专栏和德文专栏。

另一种可能性是有一个参考表

  act | Subject Active
  ina | Subject Inactive
  bkd | Already Booked

现在您的查询只是执行连接以检索文本值。在这种情况下,您可以为每种语言使用不同的列,而不会过度重复。

答案 1 :(得分:0)

您应该制作一个表格,用于在列中定义短格式,在另一列中定义全名

当您以全名获取数据时,您可以通过此表格获得简短格式

如果您正在使用其他表

,可以加入联接
id  shortform   fullname
1   act         Active
2   ina        Inactive
3   boo         Booked

select *,s.fullname from tableanother t join shorttable s on s.shortform = t.id 

另一种方式你可以使用Flag 如 一个

有效1 不活跃2 预订3

我希望它对你有所帮助