使用C#将多个值存储到SQL数据库

时间:2011-08-01 22:37:43

标签: database-design

我正在寻找有关使用C#和SQL数据库(特别是MS SQL Server Express)存储多个值的最佳方法的建议。我可以将数据输入到表A和表B中,但是当填写表单2时,我不确定如何将所有10个步骤存储到数据库中。

应用程序的工作方式是用户从表单1的组合框中选择一个项目,按下提交按钮。然后表A和表B得到更新。一旦表格有了它们的值,表格2就会打开,用户填写数据并提交数据以存储在表B中。

正如您在表单2中看到的那样,我无法想象必须在表B中为每个步骤创建30个单选按钮和22个文本框字段。对于采取何种方向的任何建议都非常感谢。

编辑:我知道这个问题令人困惑,我道歉我很困惑!基本上我只想存储与唯一ID相关的10个步骤。因此,当我对ID 1进行查询时,它会显示与该ID相关联的10个步骤。

使用:
Visual Studio Pro 2010
SQL Express 2008
LINQ用于查询数据库。

Form 2

2 个答案:

答案 0 :(得分:1)

  

正如你在表格2中看到的那样,我无法想象必须创建30个收音机   表B中的按钮和22个文本框字段用于每个步骤

从表单中,您似乎需要(可能)表B中的5个字段。

1) QuestionID (int, foreign key)
2) Answer1 (n/a textbox)
3) Answer2 (radiobutton selection)
4) Answer3 (txt)
5) Answer4 (txt)

然后,您需要一个查询表来解决您的问题 - 表C.

1) QuestionID (int, primary key)
2) Question Text (txt)

这听起来像是一个数据库设计问题,而不是c#/ Sql-server-2008问题...除非我误读它。

答案 1 :(得分:1)

您可以添加表C来存储答案。表B将有一个ID字段,表C将使用它来识别表B中的相关记录。

表B:

ID, ...
1 , ...
2 , ...

表C

ID, questionID, Answer
1 , 1         , "value"
2 , 1         , "value"
3 , 1         , "value"
...
10, 2         , "value"
11, 2         , "value"

questionID 字段是与表B的关系,您可以通过 ID 字段确定答案顺序