根据选中的复选框向我的 sql table 添加特定值

Adding a certain value to my sql table depending what check box is selected

我正在尝试创建一个 switch 语句,该语句将 1、2 或 3 添加到我的 questionDataTable 的问题类型列,具体取决于在我尝试递增的问题 ID 行的相应行中勾选了哪个复选框每次按下按钮。 我不确定我是否应该创建该行然后递增 ID,或者这会产生错误,因为 ID 不允许为 NULL。

我环顾四周,似乎找不到任何资源可以帮助我。

private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        this.checkBox2.Enabled = !this.checkBox1.Checked;
        this.checkBox3.Enabled = !this.checkBox1.Checked;
        if (!this.checkBox2.Enabled)
        {
            this.checkBox2.Checked = false;
            this.checkBox3.Checked = false;
        }

    }

    private void checkBox2_CheckedChanged(object sender, EventArgs e)
    {

    }

    private void checkBox3_CheckedChanged(object sender, EventArgs e)
    {

    }

    private void button1_Click(object sender, EventArgs e)
    {
        if(checkBox1.Checked)
        {

            this.questionDataTableBindingSource.AddNew();

            int questiontype = 0;
            switch (questiontype)
            { 
                case1:
                    this.Validate();



            }

您可以添加一条记录并将其保留为空,只要该列接受空值即可。但在我看来,我会把它们加在一起,让事情变得更整洁,减少对你的数据库(服务器)的查询。像这样;

int questiontype = bool.Equals(checkBox1.Checked, true) ? 1 :
    bool.Equals(checkBox2.Checked, true) ? 2 : 3;

但这会带来问题,因为您可以同时勾选两个复选框。您可以在 Checked_Changed 处理程序中添加取消选中其他框的功能,就像您 select 一样。但是,正如 Dan Bracuk 所建议的那样 (+1) - 单选按钮将成为您的朋友!