본문 바로가기

마녀일기

[마녀일기] '1'과 '0'이냐, 'Y'와 ''N'이냐(10.22)

반응형

트리그리드는


check된 항목은 '1'로, check되지 않은 항목의 경우 '0'으로 저장한다.

(단 DB에서 select 할때에는 불러올때는 '0'이나 null이 아니면 check된 항목으로 가져온다.)


암튼 이런식으로 기능 구현을 마쳐논 상태에서 다른 모든 페이지가


관리자 권한 여부 체크를 'Y'랑 'N'으로 처리한다 해서!!


모든 체크값을


'1' → 'Y'

'0' → 'N'


이렇게 바꾸라는 말을 들었다.


불러올때야 iBatis에서 불러올때 CASE를 활용해서 쉽게 해결 했지만...


문제는 DB에 때려 박을 때였다....


에구...


기존에 때려 박을때도.


자바스크립트에서 for문에 for문을 중첩


넘겨 받는 서블릿에서 for문에 if문을 중첩했는데 이번엔...


for문에 for문 2개를 중첩해버리는 구조로 해결해 버렸다.


...


음 솔직히 양이 많아지면 속도에 문제가 있을 듯 한데...


서브쿼리로 해결해야 하는게 아닌가 싶지만.


아직까지 DB에는 그렇게 자신이 없다.



// 1번 for문

for( 특수문자 '^'로 구분해서 담긴 값만큼 돌아라) {


// 2번 for문

for(체크된 항목의 수만큼 또 돌아라) {


if(값이 1이면) {

배열 += Y를 담아라,

}


else if(값이 0이면)

배열 += N를 담아라,

}

}


// 3번 for문

for(2번 for문에서 담은 값의 수만큼 돌아라) {

이제 값을 배열에 쳐 담아라!!

}

}

// 이제 순서대로 때려 박아라

Map.put("A", 배열[0].substring(4));    //  null값이 한번 들어가버리는 바람에 문자열 삭제
Map.put("B", 배열[1]);
Map.put("C", 배열[2]);
Map.put("D", 배열[3]);
Map.put("M", 배열[4]);




대충 이딴식으로 해결하긴 했는데 말이야...


생각해 보면 일단 때려 박고 서브쿼리를 통해서 해결하거나 쿼리를 하나더 만들고 실행해서 바꿔주는게 더 빠르지 않았나...


라고 다 만들어 놓고 생각해 버린 멍청한 짓을 해버렸다.











반응형