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


버튼을 누르면 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문을 지우고 실행했을때입니다. 이미지

  • 2016년 07월 21일에 수정됨
    리눅스(유닉스) 기반의 시스템에서 웹 서비스를 개발하고 있습니다.
  • 2016년 07월 21일에 작성됨

조회수 130


1 답변


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

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

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

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

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

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

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

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

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

  • 2016년 07월 28일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close