Powered by
JSPQNA View
디비에 저장된 아이디랑 패스워드비교할때요..
ㅎㅎ 2008-11-13 15:21:15.0

String sql="select * from member where id='"+mb.getId()+"' "+"and passwd="+mb.getPasswd();

  try{
   st = conn.createStatement();
   rs = st.executeQuery(sql);
  if(rs.next())
   {
      result =true;
   }
  } 
~~~
return result;
디비 아이디랑 비교하는건데요.. 디비를 아이디랑 패스워드 둘다 varchar2로 했거든요
근데 실험할때 비번을 숫자로 하고 sqlplus에서 쿼리를 쓰면 값이 나오길래 

jdbc에서는 mb.getPasswd();를 따옴표 안묶었거든요.. 그랬더니 무조건 트루가 나오네요  
따옴표를 넣으면 재대로된값이 나오긴하는데  
쿼리가 잘못됐다면 false가 나오거나 오류떠야되는게 정상아닌가요?
try{
   st = conn.createStatement();
   rs = st.executeQuery(sql);
   while(rs.next())
   {
    id = rs.getString("id");
    passwd = rs.getString("passwd");
   }
  } 


  if(mb.getId().equals(id) && mb.getPasswd().equals(passwd)){
   result = true;
  }
  else{
   result = false;
  }
위에 부분을 따옴표 않넣고 이렇게 하면되는데 또 재대로 나와요..  왜이러는걸까요??
그냥 문법에 맞게 써야한다면 어쩔수없지만..아시면 가르쳐주세요 ^^

hsboy 숫자의 경우는 따옴표를 붙이지 않고, 문자의 경우는 따옴표를 붙여주는것이 원칙입니다.
그런데, varchar 타입에 숫자만을 넣었을때는 따옴표를 붙여주지 않아도 실행이 됩니다. 원칙적으로는 틀린거지만 DB서버가 알아서 변환하는거 같네요.

그리고 PrepareStatement를 쓴다면 이런고민을 안하셔도 됩니다. 게다가 위와같이 하실경우 SQL Injection(해킹기법중 하나)을 당할 우려도 있습니다.

사용법은 본사이트 강좌를 참고하세요
<2008-11-13 17:10:54.0>
ㅎㅎ 첫번째 방법은 비밀번호가 틀렸을경우도 true가나와서요 그냥 PrepareStatement 써야겠네요 ㅠㅠ
한번실습해봐서 왜 틀려도 true가 나오나 궁금해서요 따옴표넣으면 제대로 되는거 보면 쿼리가 이상한건데..
그냥 디비에서 하면 비번이 숫자일때는 없어도 되서요..ㅠㅠ 답변감사합니다.
<2008-11-13 18:15:18.0>
이름: 패스워드:
JSPQNA List
No 제목 이름 조회수 날짜
28 java파일 컴파일문제... 고형윤 13  2010/09/03
21 jsp로 회원가입 수정할때 우편번호 창이 따로뜨는거 도와주세요 박상은 290  2010/04/30
17 익스 플러로 인터넷하면 Temporary Internet Files폴더에 파일이 생기잖아요. martin 496  2010/01/18
16 스트러츠2사용 jsp 표현 궁금 612  2009/12/25
15 jsp와 vb의 http방식의 파일 upload ? 구영탄 789  2009/12/15
14 jsp에서 화일이름 참조문제 [1] 초보스타 545  2009/12/07
11 struts-config.xml 이 적용되지 않습니다. 이병주 504  2009/10/01
10 jsp를 처음시작하려고하는데 조언좀부탁드립니다. kende 911  2009/04/09
9 java mail을 이용해서 대량메일방송.. [2] 현우 1418  2009/03/06
8 Corrupt form data : premature ending [1] 현우 10395  2009/02/18
7 안녕하세요 .. [2] 현우 1287  2008/12/30
5 안녕하세요...iframe안쓰고 include를 썼을경우요.. [2] 용직 1351  2008/11/28
3 게시판에서 욕설 필터링하려면 어떻게해야하나요?? [1] 현우 1482  2008/11/23
디비에 저장된 아이디랑 패스워드비교할때요.. [2] ㅎㅎ 1041  2008/11/13
1 [질문]JSP에서 Servlet으로 한글을 전달하면 코드로 변경됩니다. [1] 김현중 1382  2008/11/06
 [First] <<  [01] >>  [Last]
ABOUTJSP.COM by hsboy.