sql - 在 SQL 中存储复选框的最佳方法是什么
问题描述
来自新手的你好社区;
我在这里没有找到类似的搜索功能,所以我希望这不是一个愚蠢的问题。(对不起我的英语不好)。
我计划做一个带有复选框的清单(我认为超过 30 个)。我现在正在考虑如何将状态(检查或未检查)存储到我的 SQL 数据库中并读出。
计划A:对于每个复选框,我将在数据库中放置一个列,这听起来很简单,但我认为在性能方面必须有更好的方法
计划 B:就像单个列中的二进制代码 - 像 00100 - 意味着只有第 3 个 Checkbox 是选中的 Checkbox。对我来说更有意义,但让我觉得很难编码,尤其是在再次从 SQL 中读取这些复选框列表的情况下,例如
if (00100 == 00010) checkbox2.checked;
if (00100 == 00100) checkbox3.checked;
我希望你能帮助一个 C# 新手,并给我一些其他的解决方案想法。
谢谢所有来自奥地利的问候
解决方案
所以,这里有很多东西要解压。基本上,您是在问如何构建数据库表。
恕我直言,B计划不是您想走的路。对于将来试图理解它的人来说,这将是相当混乱的。关于表格,这取决于您的清单。
A计划太静态了。该列表会改变(增长还是缩小)?当您谈论存储支票时,您正在存储响应。这就引出了一个问题,您将如何存储实际问题?
我可能会创建两个单独的表,一个用于问题,另一个用于响应。
从您的角度来看,这可能看起来有点过火,但它允许您随着时间的推移更改您的清单。
建模方面,我的问题表可能如下所示:
表:问题列:内容、顺序
表:响应列:question_id、user_id、checked:boolean