Как использовать несколько переключателей в C #? - PullRequest
0 голосов
/ 19 февраля 2019

Как я могу использовать несколько переключателей и сохранить в своей базе данных доступ к переключателю выбора элемента текста; он сохраняет только пол, когда я пытаюсь использовать только имя к полу. Когда я пытаюсь вставить запрос в (lname, mname, fname, course, Major, несовершеннолетний, пол) он сохраняет данные в моей базе данных доступа, когда я пробую год с другой вставкой переключателей в (lname, mname, fname, конечно, Major, несовершеннолетний, пол, год), он вставляет ошибку, ноон сохраняет текст, когда я оставляю текст в строке year.

Дизайн моей формы:

enter image description here

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";
    }  

}

1 Ответ

0 голосов
/ 19 февраля 2019

Событие CheckedChanged ваших радиокнопок будет срабатывать при каждом изменении статуса вашей радиокнопки, что означает, когда он установлен или не отмечен.

То есть, когда отмечен «1-й год», и вы проверяете другую радиокнопкунапример, «3-й год», «1-й год» станет непроверенным и, таким образом, вызовет событие radioButton1_CheckedChanged одновременно с radioButton3_CheckedChanged.

. Чтобы устранить эту проблему, добавьте проверку состояния во все ваши radioButton_CheckedChanged событий как таковых:

private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
    if(radioButton3.Checked){
        year ="3rd";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...