从checkboxlist更新数据库表

时间:2015-04-12 09:47:17

标签: asp.net sql-server checkboxlist

我有一个简单的checkboxlist绑定到数据库表(有两列hobbyId和hobbyName)。所以,如果我选择一些爱好并点击更新,它会更新一个不同的表(8列8个爱好名称)一个特定的userId.But我甚至无法开始为我的“更新”按钮编写代码。我搜索了一个解决方案,所有我得到的是创建一个新记录的代码,每个爱好到一个新行或所有选中一列中的项目以逗号分隔。但我希望每个项目都绑定到具有相同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来自一个标签,一旦为所有兴趣爱好生成新用户,就会生成一个新行。

1 个答案:

答案 0 :(得分:0)

您可以创建两个表来存储此信息。 假设您已经有一个带有Id字段的用户表...

tblInterest
tblInterest.interestId
tblInterest.interestName

tblUserInterest
tblUserInterest.interestId
tblUserInterest.userId

第一个表tblInterest将包含存储在interestName字段下的Althletics,Cycling等数据。

您将使用此表对您的复选框列表进行数据绑定以生成列表。 要进行更新,在表单提交时,您将遍历复选框列表中的每个项目,并向tblUserInterest表发出添加或删除查询(这称为联结表或交叉表),以匹配userId和interestId分别。

此代码将帮助您处理结果:

https://msdn.microsoft.com/en-us/library/8bw4x4wa(VS.71).aspx

此代码将帮助您对复选框列表进行数据绑定,并提供代码以帮助您处理结果:

http://www.dotnetfox.com/articles/how-to-bind-data-to-checkboxlist-control-in-Asp-Net-using-C-Sharp-1042.aspx