2014-02-24 6 views
0

데이터베이스에서 질문을 생성하는 프로젝트를 개발 중이며 질문은 객관식 대답으로 생성됩니다.선택한 라디오 단추 오류

이 양식에는 데이터베이스에서 질문을 빨간색으로 표시하는 텍스트 상자와 데이터베이스에서 가능한 대답을 읽는 4 개의 라디오 단추가 있습니다. 라디오 버튼 텍스트 이름은 "다음 버튼"을 클릭 할 때마다 데이터베이스 테이블의 레코드로 업데이트됩니다.

이 프로그램에서 사용자가 라디오 버튼 중 하나를 선택하면 선택한 라디오 버튼 텍스트 이름이 데이터베이스 테이블의 올바른 대답인지 확인해야합니다. 예를 들어 테이블에는 option1, option2, option3, option4 및 rightAnswer라는 5 개의 열이 있습니다. 그래서 사용자가 라디오 버튼을 선택할 때마다 시스템은 선택된 라디오 버튼의 텍스트 이름이 "RightAnswer"열의 레코드와 일치하는지 확인하고, 그렇다면 "올바른"메시지 상자를 표시하고 그렇지 않으면 messgaebox를 표시 할 메시지 상자를 확인합니다 쇼는 지금까지 수행 한 "잘못"

작업 :
이것은 내가 데이터베이스에서 라디오 버튼의 텍스트 이름을 갱신하고있는 방법입니다. 나는 내 위의 코드를 실행 적
양식이

void LoadingPossibleAnswers() 
     {  
      Query = "SELECT * FROM AnswersTbl"; 
      theReader = conn.ExecuteStatement(Query); 
      while (theReader.Read()) 
      {      
        radioButton1.Text = theReader["Option1"].ToString(); 
        radioButton2.Text = theReader["Option2"].ToString(); 
        radioButton3.Text = theReader["Option3"].ToString(); 
        radioButton3.Text = theReader["Option4"].ToString();   
      }  
      conn.CloseConnection(); 
     } 

버튼을

void CorrectAnswer(RadioButton rdb) 
{ 
    string correct = rdb.Text; 

    Query = "SELECT * FROM FROM AnswersTbl;" 
    theReader = conn.ExecuteStatement(Query); 
    while (theReader.Read()) 
    { 
     correct = theReader["RightAnswer"].ToString(); 

     if (rdb.Checked && rdb.Text == correct) 
     {  
      MessageBox.Show("correct"); 
     } 
     else 
     { 
      MessageBox.Show("wrong"); 
     } 
    } 
} 

를 클릭 할 때이 메소드가 호출을로드 할 때이 메소드가 호출이되면, 다른 조건을 실행하는 경우에도 올바른 라디오 버튼이 선택됩니다. 아무도 이것이 왜 도움이 될 수 있습니까? 나는 뭔가를 놓치고 있습니까?

+0

"이 메서드는 단추를 클릭 할 때 호출됩니다." 그 후에 버튼을 클릭 했습니까? 'RadioButton'입니까? – Bharadwaj

+0

죄송합니다 .. 라디오 버튼이 선택되어있는 동안 "다음 버튼"을 누르면 해당 메소드가 호출됩니다. – user3346749

+0

중단 점을 설정하십시오. 무엇이 문제일까요? 변수에 예상 한 내용이 포함되어 있습니까? 또한, String.Equals()를 통해 문자열을 비교하십시오. –

답변

0

코드를 참조 할 때 CorrectAnswer 방법을 입력하기 전에이 검사 (rdb.Checked)를 수행하십시오.

if(rdb.Checked) 
{ 
CorrectAnswer(rdb); 
} 

처럼 모든 RadioButton의이 검사를 수행하고 방법 만 체크 RadioButton를 전달합니다.

CorrectAnswer 방법으로 rdb.Checked 상태를 제거 할 수 있습니다.

관련 문제