在SQL中存储复选框的最佳方法是什么

时间:2019-11-27 21:57:35

标签: sql checkbox database-design

新手打招呼的社区;

我在搜索功能中还没有找到类似的东西,所以我希望这不是一个愚蠢的问题。 (对不起,我的英语不好)。

我计划制作一个带有复选框的清单(我认为超过30个)。我现在正在考虑如何将状态(选中或未选中)存储到我的SQL数据库中并读出来。

计划A: 对于每个复选框,我都会在数据库中放置一列,这听起来像是一种简单的方法,但我认为在性能方面必须有更好的方法

计划B:就像单个列中的二进制代码一样(如00100),意味着仅第3个Checkbox是选中的Checkbox。对我来说更有意义,但给我一点感觉,它很难编写代码,尤其是在再次从

中从SQL读取那些复选框列表的情况下

if (00100 == 00010) checkbox2.checked;
if (00100 == 00100) checkbox3.checked;

我希望您可以帮助C#新手,并给我一些其他解决方案的想法。

谢谢大家 来自奥地利的问候

1 个答案:

答案 0 :(得分:1)

因此,这里有很多要解压的东西。基本上,您是在问如何构造数据库表。

恕我直言,B计划不是您要走的路。对于将来试图理解它的任何人来说,这都会非常混乱。关于表格,这取决于您的清单。

计划A太静态。该列表会发生变化(增长还是缩小)?当谈论存储支票时,就是在存储响应。这就是问题,您将如何存储实际问题?

我可能会创建两个单独的表,一个用于问题,另一个用于响应。

从您的角度看,这乍看起来似乎有些过分,但是它允许您随时间更改清单。

在建模方面,我的问题表可能如下所示:

表:问题 栏:内容,顺序

表:回复 列:question_id,user_id,已选中:布尔值