【发布时间】:2015-04-12 09:47:17
【问题描述】:
我有一个简单的复选框列表,它绑定到一个数据库表(有两列 hobbyId 和 hobbyName)。所以如果我选择一些爱好并点击更新,它会更新一个不同的表(有 8 个爱好名称的 8 列)一个特定的用户 ID。但我什至无法开始为我的“更新”按钮编写代码。我搜索了一个解决方案,我得到的只是代码,它为每个爱好创建一个新记录到一个新行或全部选中一列中的项目用逗号分隔。但我希望每个项目都绑定到具有相同 hoobyname 的列。任何帮助将不胜感激。
这是我想要更新的爱好表。
Create table tblInterest
(
Id int primary key identity,
UserId varchar(10),
Athletics varchar(1) default 0,
Cycling varchar(1) default 0,
EquestrianSports varchar(1) default 0,
MotorSports varchar(1) default 0,
Marathon varchar(1) default 0,
Volleyball varchar(1) default 0,
Tennis varchar(1) default 0,
Badminton varchar(1) default 0,
Basketball varchar(1) default 0
)
UserId 来自一个标签,一旦生成新用户,就会生成一个新行,所有爱好的默认值为 0。
【问题讨论】:
-
您的数据库设计完全是错误的。您应该删除 tblInterest 并创建一个仅包含用户 ID 和爱好 ID 的新表。该表应该对用户表和爱好表有外键约束,并且它的主键应该是它的 2 列的组合。这样,当您在系统中添加或删除爱好时,您不需要更改数据库结构。
标签: asp.net sql-server checkboxlist