- java.lang.Error: 해결되지 않은 컴파일 문제: sql 변수를 찾을 수 없습니다
ㅁ 오류 원인
- if 조건문으로 진료과로 '전체'를 선택하면 그냥 쿼리를 실행하고, 진료과로 '외과', '내과', '치과', '안과'를 선택하면 if문으로 sql문에 조건을 추가하게끔 작성했다.
- if 블록이든 else 블록이든 변수 sql은 생기는데 왜 오류가 나나 했는데, 블록 내에 선언해서 바깥에선 쓸 수 없었다.
- Java에서 변수의 스코프(scope) 규칙. 변수는 선언된 블록 내에서만 접근할 수 있다.
if-else 블록 내에서 변수를 선언하면 그 변수는 그 블록 내에서만 유효해서 다른 블록에서 접근할 수 없다.
ㅁ 해결
- 변수 sql을 if~else 블록 바깥에 선언한다.
- 오류가 뜨지 않고 검색된다.
- 그런데 이상하다. 의사는 4명이니 각기 다른 4명이 보여져야 하는데 한 명이 4번 보여진다.
>> 관련 게시글 : https://moca7.tistory.com/241 ([오답] Map 객체가 덮어씌워지는 문제)
'프로젝트 > 세미프로젝트-병원 종합정보시스템 사이트' 카테고리의 다른 글
[오류] java.sql.SQLSyntaxErrorException (1) | 2024.09.23 |
---|---|
[오답] Map 객체가 덮어씌워지는 문제 (0) | 2024.09.22 |
[오류] java.lang.NullPointerException (1) | 2024.09.22 |
쿼리들 (0) | 2024.09.20 |
modal이 바로 열렸다 닫힘 (0) | 2024.09.13 |