2016-07-20 24 views
1

アカウントシステムをコーディングしようとしていますが、アカウントはSQLiteデータベース内に保存されています。誰かがアカウントを作成したいときは、最初に、同じ電子メールを使用するアカウントがあるかどうかを確認したい(電子メールは主キーではなく単純なテキスト)。SQLiteデータベースに値が既に存在するか確認してください。

public boolean checkemail(String email) 
{ 
    SQLiteDatabase db = this.getReadableDatabase(); 
    String Query = "Select * from " + TABLE_KANIDAT + " where " + KEY_KEMAIL + " = " + "'"+email+"'"; 
    Cursor cursor = db.rawQuery(Query, null); 
    if(cursor.getCount() <= 0) 
    { 
     cursor.close(); 
     return false; 
    } 
    else 
    { 
     cursor.close(); 
     return true; 
    } 
} 
+0

方法を作成存在(KEY_KEMAIL = 'theemail' リミット1 TABLE_KANIDAT SELECT * FROM);行が必要に他0が存在する場合は' 1を返しますあなたの声明をパラメタリゼーションする。 –

+0

そして、このコードの問題点は何ですか? –

答えて

1

選択 `

public boolean checkAlreadyExist(String email) 
    { 
     String query = SELECT + YOUR_EMAIL_COLUMN + FROM + TABLE_NAME + WHERE + YOUR_EMAIL_COLUMN + " =?"; 
     Cursor cursor = db.rawQuery(query, new String[]{email}); 
     if (cursor.getCount() > 0) 
     { 
      return false; 
     } 
     else 
      return true; 
    } 
0
Try this 

     public boolean rowIdExists(String StrId) { 
    SQLiteDatabase db = this.getWritableDatabase(); 
    Cursor cursor = db.rawQuery("select id from " + TABLE_USERRATE 
      + " where id=?", new String[]{StrId}); 
    boolean exists = (cursor.getCount() > 0); 
    /*cursor.close(); 
    db.close();*/ 
    return exists; 
} 


    if (rowIdExists("ValuesId")) { 
      //do something 
      } else { 
       //do something 
      } 
関連する問題