如何从Webform上动态生成的字段动态添加数据到sql server表

本文关键字:动态 数据 添加 sql server 字段 Webform | 更新日期: 2023-09-27 18:12:08

我有一个webform (ASPX)与一些字段收集用户信息,并存储在数据库表中的信息(sql server 2008)。现在,当用户想要添加额外的数据时,问题就出现了。

假设用户正在输入他的属性的详细信息(从webform中捕获数据的5个字段,并将其转到DB中的表中的5个字段),

现在,如果用户有多个属性,他也想输入详细信息(他点击Add按钮,这将为另一个属性详细信息添加额外的5个字段,但表格仍有5个字段,用于存储第一个属性详细信息的数据)因此,根据我的理解,这些是选项:

1)创建表时保留表中多余的字段。像15个字段输入3种类型的属性的详细信息(但这有两个缺点)。桌子太大了。如果字段仍然不够,该怎么办?

2)根据用户提交表单后添加的字段数修改我的表

3)在表中动态创建字段,以在运行时添加数据(这似乎是一个可行的选择,但我不知道如何实现)

任何其他选项或建议的例子将有助于上述情况

如何从Webform上动态生成的字段动态添加数据到sql server表

你有几个选择

使用一个模式较少的数据库来保存这些信息,毕竟你的数据是模式较少的,所以关系数据库不是一个很好的选择。如果你不控制你的技术堆栈,可能会很棘手。

少伪造模式,将对象序列化为XML或JSON并将其放入字段中。如果你想查询它,可能会有问题。

创建一个数据结构,其中一个表用于对象,另一个表用于其属性,因此一个对象有许多属性。对于实例拥有的每个属性,属性表都有一个条目。

<

的表/em>

ThingID int
Name varchar
<

ThingProperties表/em>

ThingPropertID int
ThingID int
Name varchar
Value varchar

你可以查询它,它相对容易建立一个页面并保存数据。

如果你知道它们总是五个一组的,你可以在你的属性表中有五列,每一行都是一个批处理,但这可能会使事情变得更复杂。

基本上,每条信息都有许多属性,您的模型需要捕获这种关系。由于各种原因,试图不停地更改表将是一个非常糟糕的主意。

第三个例子是一个关系数据库,创建两个表结构,其中详细表每行为父

保存一个属性