|
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;
}
위에 부분을 따옴표 않넣고 이렇게 하면되는데 또 재대로 나와요.. 왜이러는걸까요??
그냥 문법에 맞게 써야한다면 어쩔수없지만..아시면 가르쳐주세요 ^^
|