C# 如何将复选框值插入数据库?

C# 如何将复选框值插入数据库?,c#,checkbox,webforms,insert,C#,Checkbox,Webforms,Insert,我有3个复选框,id是chkIPP、CHKOUTRECH和chkCCA。当用户选中其中一个复选框时,该值将插入BlogType列字段。我想插入的3个值是IPP故事、外联活动和CCA。我只想允许选中一个复选框。只有一个值将插入blogType列字段 我认为近似控件应该是单选按钮或下拉列表,因为只有一个可以选择并插入到数据库中,但我的老师告诉我使用复选框。因此,用户将在3文本框中键入,并选中其中一个复选框,值将插入到数据库中。我已经对3个文本框进行了编码。左边是复选框。谢谢 遵循@serhads

我有3个复选框,id是chkIPP、CHKOUTRECH和chkCCA。当用户选中其中一个复选框时,该值将插入BlogType列字段。我想插入的3个值是IPP故事、外联活动和CCA。我只想允许选中一个复选框。只有一个值将插入blogType列字段

我认为近似控件应该是单选按钮或下拉列表,因为只有一个可以选择并插入到数据库中,但我的老师告诉我使用复选框。因此,用户将在3文本框中键入,并选中其中一个复选框,值将插入到数据库中。我已经对3个文本框进行了编码。左边是复选框。谢谢

遵循@serhads的建议。我做对了吗?

  • 您需要将复选框替换为单选按钮或下拉列表以选择任何一个选项
  • 我假设您创建了名为“drpBlogType”的下拉列表


    你们有另一张BlogType的桌子吗?如果是,我建议您在BlogType表和EntryTable之间创建另一个表。然后,您可以在此表中存储选定的复选框值。桌子可以是这样的

    ID << primary key
    BlogID << EntryTable referance id
    BlogTypeID << BlogType table referance id
    

    ID有两种方法:

    1。使用JQuery:

    <asp:CheckBox runat="server" ID="chkIPP" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkOutReach" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkCCA" CssClass="check" />
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    $('.check').click(function () {
        $('.check').each(function () {
            $(this).prop('disabled', 'disabled');
        });
    });
    
    <asp:CheckBoxList runat="server" ID="cblType" OnSelectedIndexChanged="cblType_OnSelectedIndexChanged" AutoPostBack="True">
        <Items>
            <asp:ListItem Text="IPP Stories" Value="IPP Stories"></asp:ListItem>
            <asp:ListItem Text="OutReach Activities " Value="OutReach Activities"></asp:ListItem>
            <asp:ListItem Text="CCA" Value="CCA"></asp:ListItem>
        </Items>
    </asp:CheckBoxList>
    
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    protected void cblType_OnSelectedIndexChanged(object sender, EventArgs e)
    {
        this.cblType.Enabled = false;
    }
    
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string AdminNumber = Convert.ToString(txtAdmin.Text);
        string Name = Convert.ToString(txtName.Text);
        string BlogStory = Convert.ToString(txtStory.Text);
        string BlogType = cblType.SelectedValue;
        insertGameRecord(AdminNumber, Name, BlogStory, BlogType);
    }
    
    单击每个复选框的事件时,使用JQuery禁用所有三个复选框,如下代码示例所述:

    HTML:

    <asp:CheckBox runat="server" ID="chkIPP" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkOutReach" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkCCA" CssClass="check" />
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    $('.check').click(function () {
        $('.check').each(function () {
            $(this).prop('disabled', 'disabled');
        });
    });
    
    <asp:CheckBoxList runat="server" ID="cblType" OnSelectedIndexChanged="cblType_OnSelectedIndexChanged" AutoPostBack="True">
        <Items>
            <asp:ListItem Text="IPP Stories" Value="IPP Stories"></asp:ListItem>
            <asp:ListItem Text="OutReach Activities " Value="OutReach Activities"></asp:ListItem>
            <asp:ListItem Text="CCA" Value="CCA"></asp:ListItem>
        </Items>
    </asp:CheckBoxList>
    
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    protected void cblType_OnSelectedIndexChanged(object sender, EventArgs e)
    {
        this.cblType.Enabled = false;
    }
    
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string AdminNumber = Convert.ToString(txtAdmin.Text);
        string Name = Convert.ToString(txtName.Text);
        string BlogStory = Convert.ToString(txtStory.Text);
        string BlogType = cblType.SelectedValue;
        insertGameRecord(AdminNumber, Name, BlogStory, BlogType);
    }
    
    2。将CheckBoxlist与OnSelectedIndexChanged事件一起使用

    HTML:

    <asp:CheckBox runat="server" ID="chkIPP" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkOutReach" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkCCA" CssClass="check" />
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    $('.check').click(function () {
        $('.check').each(function () {
            $(this).prop('disabled', 'disabled');
        });
    });
    
    <asp:CheckBoxList runat="server" ID="cblType" OnSelectedIndexChanged="cblType_OnSelectedIndexChanged" AutoPostBack="True">
        <Items>
            <asp:ListItem Text="IPP Stories" Value="IPP Stories"></asp:ListItem>
            <asp:ListItem Text="OutReach Activities " Value="OutReach Activities"></asp:ListItem>
            <asp:ListItem Text="CCA" Value="CCA"></asp:ListItem>
        </Items>
    </asp:CheckBoxList>
    
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    protected void cblType_OnSelectedIndexChanged(object sender, EventArgs e)
    {
        this.cblType.Enabled = false;
    }
    
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string AdminNumber = Convert.ToString(txtAdmin.Text);
        string Name = Convert.ToString(txtName.Text);
        string BlogStory = Convert.ToString(txtStory.Text);
        string BlogType = cblType.SelectedValue;
        insertGameRecord(AdminNumber, Name, BlogStory, BlogType);
    }
    
    按钮提交点击事件:

    <asp:CheckBox runat="server" ID="chkIPP" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkOutReach" CssClass="check" />
    <asp:CheckBox runat="server" ID="chkCCA" CssClass="check" />
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    $('.check').click(function () {
        $('.check').each(function () {
            $(this).prop('disabled', 'disabled');
        });
    });
    
    <asp:CheckBoxList runat="server" ID="cblType" OnSelectedIndexChanged="cblType_OnSelectedIndexChanged" AutoPostBack="True">
        <Items>
            <asp:ListItem Text="IPP Stories" Value="IPP Stories"></asp:ListItem>
            <asp:ListItem Text="OutReach Activities " Value="OutReach Activities"></asp:ListItem>
            <asp:ListItem Text="CCA" Value="CCA"></asp:ListItem>
        </Items>
    </asp:CheckBoxList>
    
    <asp:Button runat="server" ID="buttonSubmit" Text="Submit" OnClick="buttonTest_OnClick" />
    
    protected void cblType_OnSelectedIndexChanged(object sender, EventArgs e)
    {
        this.cblType.Enabled = false;
    }
    
    protected void btnSubmit_Click(object sender, EventArgs e)
    {
        string AdminNumber = Convert.ToString(txtAdmin.Text);
        string Name = Convert.ToString(txtName.Text);
        string BlogStory = Convert.ToString(txtStory.Text);
        string BlogType = cblType.SelectedValue;
        insertGameRecord(AdminNumber, Name, BlogStory, BlogType);
    }
    

    哦,不,我只有一张桌子@serhadsI只允许选中一个复选框。我已经在上面编辑了我的帖子@在这种情况下,使用复选框是不符合逻辑的。您可以使用radiobox或下拉菜单。问你的老师为什么他/她要你使用复选框?他告诉我在将来的项目中,可能需要检查多个值并插入数据库。所以他告诉我现在使用checkbox,它只需要向数据库提交一个值。以后,请更改为多个复选框@serhadsok。因此,您应该创建另一个表,将BlogType值放入该表中,并与其他表建立关系。否则,以后不能以编程方式添加多个值。以后无需触摸代码,您只能将新的BlogType项添加到BlogType表中。是否要将所有选中的复选框值保存到表中?请检查我的答案。希望它能帮助你。别忘了向上投票并将其标记为答案。但是如何编写查询呢?要指定BlogType@spidercode列字段,如果您不知道jQuery,可以使用OnCheckedChanged使用我的第二个选项。但我认为需要编写代码,这样它就可以知道wat column字段进入数据库@spidercode查看第二个选项的更新答案。