부장님께서 잡으신 에러 ..공백에러?!
String tel_num1 = request.getParameter("가") == null ? "" :
request.getParameter("가");
String tel_num2 =
request.getParameter("나") == null ? "" : request.getParameter("나");
String tel_num3 = request.getParameter("다") == null ? "" :
request.getParameter("다");
이 부분에서는 해당 전화번호 값이 널인 경우에 공백으로 변환하는데...
해당 데이터를 붙여서 하나의 문자열로 만들고,
int s = 0;
while(st3.hasMoreElements()){
temp =
st3.nextToken();
if(s==0) a1= temp;
else
if(s==1) a2 = temp;
else if(s==2) 가 = temp;
else if(s==3) 나 = temp;
else if(s==4) 다 = temp;
else if(s==5) a3 = temp;
else if(s==6) a4 = temp;
else
if(s==7) a5 = temp;
else if(s==8) a6 = temp;
else
if(s==9) a7 = temp;
else if(s==10) a8 =
temp;
else if(s==11) a9 = temp;
else if(s==12) a10 =
temp;
이걸 이용해서 각각 구분자를 기준으로 데이터를 잘라서 변수에 담는데...
공백이 있는 값은 건너뛰고 다음 값 즉 우편번호를
전화번호 필드에 넣으니 길이가 다르다고 디비에서 에러가 남
전화번호는 필수가 아니라서 안넣으면 공백으로 처리되게 되어있나봄
if (tel_num1.equals("")) 가 = "0";
if (tel_num2.equals("")) 나 =
"0";
if (tel_num3.equals("")) 다= "0";
그래서 일단 강제로 안넣으면 0 으로 넣게 했어~
네 이부분은 이렇게 쓰면되나요?강제로 0넣어서?
원래 정상적으로 할땐 이렇게 강제로 하지 않는데...
정상적으로 짜면
쿼리문에서부터 해당 값이 널일때 널 허용하거나 안넣게 짜야지
아니면
int s = 0;
while(st3.hasMoreElements()){
temp =
st3.nextToken();
if(s==0) a1= temp;
else
if(s==1) a2 = temp;
else if(s==2) 가 = temp;
else if(s==3) 나 = temp;
else if(s==4) 다 = temp;
else if(s==5) a3 = temp;
else if(s==6) a4 = temp;
else
if(s==7) a5 = temp;
else if(s==8) a6 = temp;
else
if(s==9) a7 = temp;
else if(s==10) a8 =
temp;
else if(s==11) a9 = temp;
else if(s==12) a10 =
temp;
이 부분을 다른 방식으로 코딩하면 돼..
나도 함 찾아봐야겠다
temp = st3.nextToken(); 이건 우너래 공백도 포함해서 카운트하는걸로 아는데...
안먹네...
-------------------------------------------------------------------------------------
nextToken() 다음 토큰을 리턴한다. 이전 토큰은 제거한다.
http://arer.tistory.com/48 - [JAVA 자바] StringTokenizer
'나의질문답' 카테고리의 다른 글
set함수 , add함수 (0) | 2014.07.29 |
---|---|
ArrayList (0) | 2014.07.29 |
parameterClass , resultClass / xml .쿼리문 문법 오류 (0) | 2014.07.29 |
mysql FORMAT함수 (0) | 2014.07.29 |
Dao.java 쿼리문? (0) | 2014.07.29 |