【问题标题】:Concatenate CheckboxList values and Insert Into table连接 CheckboxList 值并插入到表中
【发布时间】:2014-07-13 02:47:30
【问题描述】:

由于我对 ASP.Net 的了解有限,我遇到了以下问题,我有四个复选框,我想将复选框的值插入到表格中。值应该是:plan1 如果第一个复选框被选中,plan1plan2 如果同时选中 plan1 和 plan2,plan1plan2plan3 如果选中 plan1、plan2、plan3 等等。

这是我的 asp.net 代码:

<asp:CheckBoxList ID="CheckBoxList1" runat="server" RepeatColumns="3" RepeatDirection="Horizontal" Width="870px" Height="139px">
    <asp:ListItem Text="Plan1" Value="1" />
    <asp:ListItem Text="Plan2" Value="2" />
    <asp:ListItem Text="Plan3" Value="3" />
    <asp:ListItem Text="Plan4" Value="4" />
</asp:CheckBoxList>

这是我的 C# 代码:

const string query = "INSERT INTO deductiblePlan (planName) VALUES (@planName)";

using (var command = new SqlCommand(query, conn))
{
    foreach (var item in CheckBoxList1.Items.Cast<ListItem>().Where(item => item.Selected))
    {
        command.Parameters.Clear();
        command.Parameters.AddWithValue("@planName", item.Text);
        command.ExecuteNonQuery();
    }
}

上述方法是单独插入每个选定的值,例如,如果我选择两个计划,它将插入两条记录,这不是我想要的,我想要一个带有 plan1plan2 的记录。

【问题讨论】:

    标签: c# asp.net sql-server checkboxlist


    【解决方案1】:

    我会在 foreach 中将它们连接在一起,然后进行一次插入。

    const string query = "INSERT INTO deductiblePlan (planName) VALUES (@planName)";
    
    using (var command = new SqlCommand(query, conn))
    {
        string planName ="";
        foreach (var item in CheckBoxList1.Items.Cast<ListItem>().Where(item => item.Selected))
        {
           planName =planName+item.Text
        }
        command.Parameters.Clear();
        command.Parameters.AddWithValue("@planName",planName );
        command.ExecuteNonQuery();
    
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多