在C#中只选择一个单选按钮
本文关键字:一个 单选按钮 选择 | 更新日期: 2023-09-27 18:26:35
我是windows窗体应用程序的初学者。我正在保存学生记录。问题是,当我选中"男性"或"女性"按钮时,在sql数据库中,女性和男性都显示在性别列中,而不是只有一个。请帮帮我。这是我的代码
private void button1_Click(object sender, EventArgs e)
{
coachingdbDataContext coach = new coachingdbDataContext();
std_table std = new std_table()
{
Name= nametxt.Text,
Father_Name= fnametxt.Text,
Class= classtxt.Text,
Roll_Number= rolltxt.Text,
Address=addresstxt.Text,
Contact_Number=numtxt.Text,
Date_Of_Birth=daybox.Text +" "+ monthbox.Text +" "+ yearbox.Text,
Gender= malebutton.Text + femalebutton.Text,
};
coach.std_tables.InsertOnSubmit(std);
coach.SubmitChanges();
MessageBox.Show("Sucessfully Submitted");
}
您必须检查Checked
单选按钮:
Gender = malebutton.Checked == true ? malebutton.Text : femalebutton.Text;
这看起来像是罪魁祸首:
Gender = malebutton.Text + femalebutton.Text
无论选择哪个按钮,这两个按钮都有文本。因此,两者都将被插入。
您可能想检查选择了哪一个。malebutton
和femalebutton
有哪些类型?例如,它们是否具有Checked
属性?这样的东西可能会起作用:
Gender = malebutton.Checked ? malebutton.Text :
(femalebutton.Checked ? femalebutton.Text :
"unspecified");
如果选中了公按钮,我们就会收到该文本。否则,如果选中了阴性按钮,则使用该文本。否则,请使用默认值。
如果您将两者的文本添加在一起,那么您当然会在我们的输出中获得两者。
Gender= malebutton.Text + femalebutton.Text
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
使用此:
std_table std = new std_table()
{
Name= nametxt.Text,
Father_Name= fnametxt.Text,
Class= classtxt.Text,
Roll_Number= rolltxt.Text,
Address=addresstxt.Text,
Contact_Number=numtxt.Text,
Date_Of_Birth=daybox.Text +" "+ monthbox.Text +" "+ yearbox.Text,
Gender= malebutton.Checked ? malebutton.Text : femalebutton.Text;
};
您可以在此处阅读有关?
运算符的信息。
这就是罪魁祸首:
Gender= malebutton.Text + femalebutton.Text,
改为:
std_table std = new std_table()
{
Name= nametxt.Text,
Father_Name= fnametxt.Text,
Class= classtxt.Text,
Roll_Number= rolltxt.Text,
Address=addresstxt.Text,
Contact_Number=numtxt.Text,
Date_Of_Birth=daybox.Text +" "+ monthbox.Text +" "+ yearbox.Text
};
if ( malebutton.Checked ) {
std.Gender = malebutton.Text;
}
if (femalebutton.Checked ) {
std.Gender = femalebutton.Text;
}
您可以更换
Gender= malebutton.Text + femalebutton.Text
通过
if(malebutton.checked == true )
{
Gender= malebutton.Text;
}
else
{
Gender= femalebutton.Text;
}
希望这将解决您的问题