1

我想为 Isdeleted 添加一个新列,它可以有两个值 Yes 或 No。所以最好使用哪种数据类型:-

  1. 使用 char(1) 并存储两个值 Y 或 N。

  2. 少量。并存储 1 或 0 。然后我可以在应用程序级别上说 1 表示是,0 表示否。

  3. varchar(3)。并在数据库中存储是或否,而不需要处理应用程序级别的显示?

我很困惑要使用哪个dataTpe,以及如何在使用的存储(最好是Bit)和简单(使用char(3)时)之间取得平衡。

最好的祝福

编辑

我尝试了 Bit,但是当我在 Sql 服务器数据库中手动插入 1 或 0 时,出现以下错误:-单元格的值无效(第 42 行,第 17 列)。此单元格中更改的值未被识别为有效。.Net Framework 数据类型:布尔错误消息:字符串未被识别为有效的布尔值。""

4

3 回答 3

4

最好的选择是 (2)(该字段也应该是不可为空的),因为值被限制为 1 和 0。通常,您只想在应用程序中处理显示问题而不是在任何其他应用程序中处理显示问题。

作为一个为什么显示问题应该在应用程序级别处理的简单示例,您可能需要在某些时候将 UI 本地化为另一种语言,并使用不同的“是”和“否”术语。

于 2013-06-27T22:38:37.090 回答
2

使用布尔值。这将使任何阅读您的代码的人(包括 10 年后的您——您会感到惊讶!)清楚地知道只有 2 个可能的值。

于 2013-06-27T22:39:11.033 回答
0

取决于你的选择

如果您想显示为Yes/No然后选择 1(您只需要在代码中操作实际显示)

但选择2是我会去的。

于 2013-06-27T22:41:02.120 回答