【问题标题】:How to use the multiple radio buttons in C#?如何在 C# 中使用多个单选按钮?
【发布时间】:2019-02-19 14:30:34
【问题描述】:

我如何使用多个单选按钮并保存到我的数据库访问选择项目文本单选按钮当我尝试只从名称到性别时他只保存性别。当我尝试查询插入(lname,mname,fname,course ,主要,次要,性别)当我尝试将另一个单选按钮插入(lname,mname,fname,course,major,minor,gender,year)时,他将数据保存在我的数据库访问权限中,但插入时出错当我将文本留在字符串年份时,他会保存文本。

我的表单设计:

public partial class student : UserControl
{
    OleDbConnection con = new OleDbConnection(@"Provider = 
    Microsoft.ACE.OLEDB.12.0; Data Source 
    =C:\Users\ronaldcaymo\Desktop\Student Information System.accdb");
    string Gender;
    string year;
    string Status;

    private void button4_Click(object sender, EventArgs e)
    {
        con.Open();
        OleDbCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "insert into 
        table1(Lname,Fname,Mname,Course,Major,Minor,semester,Gender,Status) 
        values('"+tblname.Text+"','"+tbfname.Text+"','"+tbmname.Text+ 
        "','"+cbcourse.Text+"','" +cbmajor.Text 
  +"','"+cbminor.Text+"','"+cbsemester.Text+"','"+Gender+"','"+Status+"')";
        cmd.ExecuteNonQuery();
        con.Close();
        MessageBox.Show("Student Added");
    }    
    private void radioButton5_CheckedChanged(object sender, EventArgs e)
    {
        Gender = "Male";
    }

    private void radioButton6_CheckedChanged(object sender, EventArgs e)
    {
        Gender ="Female";
    }

    private void radioButton1_CheckedChanged(object sender, EventArgs e)
    {
        year = "1st";
    }

    private void radioButton2_CheckedChanged(object sender, EventArgs e)
    {
        year ="2nd";
    }

    private void radioButton3_CheckedChanged(object sender, EventArgs e)
    {
        year ="3rd";
    }

    private void radioButton4_CheckedChanged(object sender, EventArgs e)
    {
        year ="4th";
    }

    private void radioButton8_CheckedChanged(object sender, EventArgs e)
    {
        Status = "Single";
    }

    private void radioButton7_CheckedChanged(object sender, EventArgs e)
    {
        Status = "Married";
    }  

}

【问题讨论】:

  • "当我尝试只从名字到性别时只保存性别。" 我知道英语可能不是你的母语,但不幸的是我不明白你的意思试图说出你的问题。 :-( 不要尝试在 cmets 中澄清您的问题。而是编辑并改进您的问题以扩展问题描述并使其更清晰、更易于理解。
  • 如果您的表单如图所示,那么您还没有启用任何单选按钮 - 如果您想要一个默认值,您应该在每组中设置一个按钮启用。
  • 如果您很难翻译您的问题,请考虑使用谷歌翻译器,因为您的英语水平目前很难理解您想要实现的目标或您的问题。
  • 当我尝试查询插入到 (lname,mname,fname,course,major,minor,gender) 当我尝试使用另一个单选按钮插入 (lname ,mname,fname,course,major,minor,gender,year) 他插入时出错,但是当我将文本留在字符串年份和状态时他保存了文本
  • 我编辑 @elgonzo 先生

标签: c# database ms-access


【解决方案1】:

单选按钮的CheckedChangedevent 将在单选按钮的状态每次更改时触发,这意味着当它被选中或未选中时。

所以当检查'1年级'并检查另一个单选按钮,如“第3年”,“第1年”将取消选中,从而触发987654322 radioButton3_CheckedChanged

要解决此问题,请在所有 radioButton_CheckedChanged 事件中添加条件检查,如下所示:

private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
    if(radioButton3.Checked){
        year ="3rd";
    }
}

【讨论】:

    猜你喜欢
    • 2020-09-18
    • 2018-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    • 1970-01-01
    • 2016-11-13
    • 2014-07-12
    相关资源
    最近更新 更多