选中性别单选按钮时如何在数据库中存储值

时间:2017-04-27 13:11:46

标签: c# winforms

在我的Windows应用程序中,我有三个单选按钮:男性,女性和其他人。 当我检查男性单选按钮时,我为变量分配了1个值,并在将该值插入sql表后。但我使用了已更改的事件。我得到系统格式异常。我使用下面的代码请帮助我。

if (rbmale.Checked)
{
    genders = 1;

}
else  if (rbfemale.Checked)
{
    genders = 2;

}
else if(rbothers.Checked)
{

    genders = 3;
}

private void rbmale_CheckedChanged(object sender, EventArgs e)
{
    if (((RadioButton)sender).Checked == true)
        genders = Convert.ToInt32(((RadioButton)sender).Text.ToString());
}

private void rbfemale_CheckedChanged(object sender, EventArgs e)
{
    if (((RadioButton)sender).Checked == true)
        genders = Convert.ToInt32(((RadioButton)sender).Text.ToString());
}

private void rbothers_CheckedChanged(object sender, EventArgs e)
{
    if (((RadioButton)sender).Checked == true)
        genders = Convert.ToInt32(((RadioButton)sender).Text.ToString());
}

2 个答案:

答案 0 :(得分:0)

您正在获得系统格式异常,因为您正在将radiobutton的文本转换为整数。我假设三个radiobutton文本是:"男","女","其他" - 无法转换为整数。

答案 1 :(得分:0)

你检查的第一件事就是改变每个收音机的事件,这意味着它只是设置了它 第二个地方下面的代码被执行?如果在某些提交点上执行此操作,那么这段代码就足够了

mClusterManager.setRenderer(new MarkerRenderer(mContext, mMap, mClusterManager));

因为这些是一次只有一个单选按钮,所以你可能不需要检查更改,因为如果一个是检查剩余得到取消选中,但如果你检查了什么改变你写的代码似乎你试图实现所有检查如果是这种情况,单个事件中的更改,将数字放在单选按钮的标记属性中,并将单个事件分配给所有单选按钮

if (rbmale.Checked)
        {
            genders = 1;

        }
        else  if (rbfemale.Checked)
        {
            genders = 2;

        }
    else if(rbothers.Checked)
        {

            genders = 3;
        }