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

비밀번호 찾기 소스입니다 도와주세요...

0 추천
private void FindIdPw(){
   boolean result = false;
   Log.d("보자보자", "되나");
   String email1 = edittxtfindid.getText().toString();
   Log.d("보자보자", email1);
   String selectAllQuery2 = "SELECT * FROM member WHERE email = " + email1 ;
   Log.d("보자", selectAllQuery2);  
   cursor = db.rawQuery(selectAllQuery2, null);   
   Log.d("ddd", cursor.getString(3));
   

   if(cursor.getCount() >= 1){
    result = false;
   }else {
    result = true;
   }   
   cursor.close();
   db.close();


   while(cursor.moveToNext()){
    
    Log.d("보자보자", "되나2");
    if(result == false){
     Log.d("보자보자", "되나5");
     new AlertDialog.Builder(this)
     .setTitle("알림.")
     .setMessage(" 비밀번호는 : " + selectAllQuery2 )
     .setNegativeButton("확인",
       new DialogInterface.OnClickListener() {
      public void onClick(
        DialogInterface dialog,
        int which) {
       // TODO Auto-generated method stub

      }
     }).show();
    }
    else{
     Log.d("보자보자", "되나4");
     new AlertDialog.Builder(this)
     .setTitle("알림.")
     .setMessage("이메일을 잘못 입력하셨습니다.")
     .setNegativeButton("확인",
       new DialogInterface.OnClickListener() {
      public void onClick(
        DialogInterface dialog,
        int which) {
       // TODO Auto-generated method stub

      }
     }).show();
    }

    break;
   } 



여기서 에러는  

08-07 17:04:06.188: E/AndroidRuntime(19792): FATAL EXCEPTION: main
08-07 17:04:06.188: E/AndroidRuntime(19792): Process: com.example.superbaby, PID: 19792
08-07 17:04:06.188: E/AndroidRuntime(19792): java.lang.NullPointerException
08-07 17:04:06.188: E/AndroidRuntime(19792):  at com.example.superbaby.FindIdPw.FindIdPw(FindIdPw.java:61)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at com.example.superbaby.FindIdPw.onClick(FindIdPw.java:50)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at android.view.View.performClick(View.java:4633)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at android.view.View$PerformClick.run(View.java:19330)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at android.os.Handler.handleCallback(Handler.java:733)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at android.os.Handler.dispatchMessage(Handler.java:95)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at android.os.Looper.loop(Looper.java:157)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at android.app.ActivityThread.main(ActivityThread.java:5356)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at java.lang.reflect.Method.invokeNative(Native Method)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at java.lang.reflect.Method.invoke(Method.java:515)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1265)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1081)
08-07 17:04:06.188: E/AndroidRuntime(19792):  at dalvik.system.NativeStart.main(Native Method)

cursor = db.rawQuery(selectAllQuery2, null);  여기서 에러가뜨는데요...   
내부DB에 값들다 들어가고 저장되어있는데  왜 에러가 뜨는지 모르겠습니다..
개발처음시작했는데 도움좀주세요.,..

 

포포니 (120 포인트) 님이 2014년 8월 7일 질문
포포니님이 2014년 8월 13일 reshown

1개의 답변

0 추천
db 객체는 어디서 가져오시나요? 객체 자체가 null일 듯 한데요
사악미소 (65,330 포인트) 님이 2014년 8월 7일 답변
db에는 다들어가있구요.. 로그인이랑 회원가입은 다되는데  
비밀번호찾기에서 막혔어요...

Database dbHelper;
    SQLiteDatabase db;
    Cursor cursor;
protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_find_id_pw);
dbHelper = new Database(this);
        memberlist = dbHelper.selectAllMembers();

디비에저장된 모든정보 불러오는 코드는
public Vector<member> selectAllMembers() {
      Vector<member> member = new Vector<member>();

      String selectAllQuery = "SELECT * FROM member";

      SQLiteDatabase db = this.getWritableDatabase();

      Cursor cursor = db.rawQuery(selectAllQuery, null);

      if (cursor.moveToFirst()) {
         do {
            member.add(new member(Integer.parseInt(cursor.getString(0)),
                  cursor.getString(1), cursor.getString(2), cursor
                        .getString(3), cursor.getString(4)));
         } while (cursor.moveToNext());
      }

      cursor.close();
      db.close();

      return member;
   }
이거에요
...