C#如何将复选框的字符串值添加到参数中

C#如何将复选框的字符串值添加到参数中,c#,visual-studio,C#,Visual Studio,我有一个列名Gender,它确定用户是男性还是女性,我想要的是当我选择其中一个复选框时,数据库获取的值是男性还是女性,而不是1或0 private void btn_add_Click(object sender, EventArgs e) { using (var con = SQLConnection.GetConnection()) { if (string.IsNullOrEmpty(txt_firstname.Text)

我有一个列名Gender,它确定用户是男性还是女性,我想要的是当我选择其中一个复选框时,数据库获取的值是男性还是女性,而不是1或0

private void btn_add_Click(object sender, EventArgs e)
    {
        using (var con = SQLConnection.GetConnection())
        {
            if (string.IsNullOrEmpty(txt_firstname.Text) || string.IsNullOrEmpty(txt_lastname.Text) || string.IsNullOrEmpty(txt_age.Text) || string.IsNullOrEmpty(txt_contact.Text) || string.IsNullOrEmpty(txt_email.Text))
            {
                MetroMessageBox.Show(this, "Please input the Required Fields", "System Message:", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }
            else
            {
              SqlCommand selectCommand = new SqlCommand(" INSERT into admin_customerss (Firstname,Lastname,Age,Gender,Contactnumber,Email)  values (@Firstname, @Lastname, @Age, @Gender, @Contactnumber, @Email)", con);
                selectCommand.Parameters.AddWithValue("@Firstname", txt_firstname.Text);
                selectCommand.Parameters.AddWithValue("@Lastname", txt_lastname.Text);
                selectCommand.Parameters.AddWithValue("@Age", txt_age.Text);
                selectCommand.Parameters.AddWithValue("@Gender", cbox_male.Checked);                
                selectCommand.Parameters.AddWithValue("@Contactnumber", txt_contact.Text);
                selectCommand.Parameters.AddWithValue("@Email", txt_email.Text);
                selectCommand.ExecuteNonQuery();
                MessageBox.Show("Added successfully", "SIMS", MessageBoxButtons.OK, MessageBoxIcon.Information, MessageBoxDefaultButton.Button1);   
            }
        }
    }

插入值应始终与数据库字段的数据类型兼容

如果性别字段的数据类型是NVarChar或VarChar,则只需更改代码中的一行即可

selectCommand.Parameters.AddWithValue("@Gender", (cbox_male.Checked ? "Male" : "Female"));                
但如果有一个位字段,则只能存储1或0。然后,由您在需要显示这些值时正确转换这些值

还要考虑到
AddWithValue
是一个有用的快捷方式,但是

如有可能,使用(仍为一行,但更精确)


数据库表上字段性别的数据类型是什么?我使用了Varchar datatypeNote,标记描述中说“不要在有关代码的问题上使用此标记,这些问题只是碰巧在Visual Studio中编写的。”请将您的问题删除。还要注意,
SqlCommand
IDisposable
的,所以应该在
使用
块中。谢谢您的指导,先生,我的问题现在已经解决:)
selectCommand.Parameters.Add("@Gender", SqlDbType.VarChar).Value =   (cbox_male.Checked ? "Male" : "Female"));