从数据库中检索复选框列表值

本文关键字:列表 复选框 检索 数据库 | 更新日期: 2023-09-27 18:34:02

我已经从各地尝试了这里和那里的代码,但无法获得任何工作......

我已将复选框列表值保存在数据库中。我想要的只是从数据库中检索值并相应地选择复选框列表项。

设计页面中的代码为:

<asp:CheckBoxList ID="CheckBoxList1" runat="server">
<asp:ListItem Value="1">Sales</asp:ListItem>
<asp:ListItem Value="2">Office & Administration</asp:ListItem>
<asp:ListItem Value="3">Domestic Help</asp:ListItem>
<asp:ListItem Value="4">Education & Training</asp:ListItem>
<asp:ListItem Value="5">Accounting and Finance</asp:ListItem>
<asp:ListItem Value="6">Hospitality and Tourism</asp:ListItem>
<asp:ListItem Value="7">Computer and IT</asp:ListItem>
<asp:ListItem Value="8">Customer Service</asp:ListItem>
<asp:ListItem Value="9">Logistics and Transportation</asp:ListItem>
<asp:ListItem Value="10">Healthcare</asp:ListItem>
<asp:ListItem Value="11">Food and Beverage</asp:ListItem>
<asp:ListItem Value="12">Marketing, Media & Communication</asp:ListItem>
<asp:ListItem Value="13">Construction & Architecture</asp:ListItem>
<asp:ListItem Value="14">Human Resources</asp:ListItem>
<asp:ListItem Value="15">Others</asp:ListItem>
</asp:CheckBoxList>

因此,我使用此代码将 CheckBoxList 值保存到数据库中。哪个工作正常...

 for (int j = 0; j < CheckBoxList1.Items.Count - 1; j++)
    {
        if (CheckBoxList1.Items[j].Selected == true)
        {
            string r = CheckBoxList1.Items[j].Value.ToString();
            SqlConnection myconn1;
            SqlCommand cmd1;
            string sql1;
            myconn1 = new SqlConnection(WebConfigurationManager.ConnectionStrings["ApplicationServices"].ToString());
            myconn1.Open();
            sql1 = "insert into interests(FK_ic_id,FK_is_id)values(@FK_ic_id,@FK_is_id)";
            cmd1 = new SqlCommand(sql1, myconn1);
            cmd1.Parameters.AddWithValue("@FK_is_id", ssid);
            cmd1.Parameters.AddWithValue("@FK_ic_id", r);
            cmd1.ExecuteNonQuery();
            myconn1.Close();
        }
    }

所以这个表是"兴趣",有一个单独的类别名称表(兴趣列表(。数据的保存方式如下:

  • 用户-1 (FK_IS_ID(, 利息-2 (FK_IC_ID(
  • 用户-1 (FK_IS_ID(, 兴趣-3 (FK_IC_ID(
  • 用户-2 (FK_IS_ID(, 利息-4 (FK_IC_ID(
  • 用户-2 (FK_IS_ID(, 利息-2 (FK_IC_ID(

兴趣 2-3 表示"类别"表中的兴趣,该表具有:

  • 类别-1(c_id(, 销售 (c_name(
  • 类别-2(c_id(, 市场营销 (c_name(
  • 类别-3(c_id(, 信息技术 (c_name(

所以现在我想要的只是,在页面加载功能上,复选框列表被重新填充,或者根据用户(SID(和他的兴趣(c_id/FK_IC_ID(填充。复选框列表中的项目需要在页面加载功能中选择。需要检索多个利益。

从数据库中检索复选框列表值

您必须将清单框绑定到数据源:

    SqlDataAdapter da = 
            new SqlDataAdapter("SELECT c_id,c_name FROM category",
            new SqlConnection
           (WebConfigurationManager.ConnectionStrings
           ["ApplicationServices"].ToString())); 
            DataSet ds = new DataSet();
            da.Fill(ds);
            checkedListBox1.DataSource = ds;
            checkedListBox1.SelectedValue = "c_id";
            checkedListBox1.SelectedItem = "c_name ";