마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

sqlite 로그인 기능 구현시 문제.

0 추천
String sql = "select * from USER";
                Cursor result = database.rawQuery(sql, null);
                result.moveToFirst();
                while (!result.isAfterLast()) {
                    username.add(result.getString(1));
                    userid.add(result.getString(5));
                    userpass.add(result.getString(6));
                    result.moveToNext();
                }
                result.close();

                for (int i = 0; i < userid.size(); i++) {
                    if (userid.get(i).equals(editid.getText().toString()) && userpass.get(i).equals(editpass.getText().toString())) {
                        startActivity(new Intent(StartPage.this, MainActivity.class));
                        Toast.makeText(StartPage.this, username.get(i) + "님 환영합니다.", Toast.LENGTH_LONG).show();
                        database.close();
                    } else {
                    Toast.makeText(StartPage.this, "아이디/비밀번호를 확인하십시오", Toast.LENGTH_LONG).show();
                }
            }

 

제가 일단 테이블에 2개의 정보가 저장되어 잇습니다.

그래서 이게 문제인게... 제대로된 아이디와 비밀번호를 치고 들어가면

select 된 배열의 첫번째 id/비밀번호랑 비교해서 틀리니 틀렸습니다 라고 뜨고,

바로 다음 두번째 배열 id/비밀번호랑 비교해서 맞으니 로그인에 성공했습니다.라고 토스트창이 뜹니다..

이런 문제 해결할 수 있는 방법 없나요.

 

ex) DB 테이블에 첫번째 정보에 id가 test 이고, 두번째 정보에 id가 admin이 저장되어 있다고 할때,

admin 이라는 id를 치고 들어가면,

토스트창으로 아이디와 비밀번호를 확인해주세요 뜨고,

admin님 환영합니다 라고 토스트뜨고 창이 넘어갑니다..ㅠㅠㅠ
익명사용자 님이 2016년 5월 22일 질문

1개의 답변

0 추천
쿼리 웨어절에 id랑 패스워드를 넘겨서 일치되는 항목을 찾으세요
익명사용자 님이 2016년 5월 23일 답변
...