sqlreader에서 왜 read가 안되는지 모르겠어요

조회수 1453회

버튼을 누르면 rows의 3번째 열의 값을 가져오는 기능을 구현중인데 , db를 읽어오지못하네요..

private void btnSearch_Click(object sender, EventArgs e)
        {
            SqlConnection conn = new SqlConnection("Data Source=YONGCHEOL;Initial Catalog=ADO;Integrated Security=True");```

           conn.Open();

            string suzy = "SELECT * FROM rankTBL where NAME='" + txtName+ "' AND CLASS='" + ClassNum+ "'";
            SqlCommand cmd = new SqlCommand(suzy, conn);
            SqlDataReader suzyread = cmd.ExecuteReader();

            if (suzyread.Read())
            {
                kor = suzyread.GetInt16(3);
                lbEng.Text = kor.ToString();
            }
            else
            {
                MessageBox.Show("read못함");
            }

            suzyread.Close();
            conn.Close();
        }

if문을 지우고 실행했을때입니다. 이미지

1 답변

  • 문법에 문제는 없어보입니다.

    혹시 다른 문제가 있다면 질문하신 내용만으로는 문제가 무엇인지 확실히 파악 할 수가 없네요.

    정확히 답변 드리기 위해선 확인해 보셔야 할 것들이 있습니다.

    일단 커넥션이 이루어졌는지 확인 해보셔야 할 것 같습니다.

    커넥션이 잘 이루어졌다면 해당 쿼리가 실행 가능한지, 결과가 예상한 대로 잘 나오는지 확인해 보셔야 합니다.

    위에서 말씀드린것들이 잘 실행된다면 쿼리 실행 결과도 내용을 확인해봐야 할것 같습니다.

    그리고 캡쳐해서 올려주신 부분은

    원래 코드에서는 if 문에서 suzyread.Read()를 실행하는데

    if문을 삭제했기때문에 데이타를 읽지 못해서 생기는 문제입니다.

    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)