2012-10-14 3 views
0
나는 테이블에서 하나 개의 값을 검색하는 기능의 사용을 만들고있어

,SQLite에서 쿼리를 선택 하시겠습니까?

public ArrayList selectValue(SQLiteDatabase sqliteDB, String contactEmail){ 
     Cursor c = sqliteDB.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE ContactEmail='"+contactEmail+"'",null); 
     if (c != null) { 
      if (c.moveToFirst()) { 
       do { 
        double contactId = c.getDouble(c.getColumnIndex("ContactId")); 
        results.add("ContactEmail: " +contactEmail+ ",ContactId: " + contactId); 
       }while (c.moveToNext()); 
      } 
     } 
     return results; 
    } 

그러나 위의 함수는 .. 테이블에서 쿼리에 어떤 문제가 있는지 확실하지 모든 값을 검색합니다 ..

나는 또한이 같은 값을 하드 코딩하는 시도

,

Cursor c = sqliteDB.rawQuery("SELECT * FROM " + TABLE_NAME + " WHERE ContactEmail='[email protected]'",null); 

하지만 이것은 또한 모든 행을 제공합니다. 내가 뭔가를 여기에서 놓치고 있냐?? 이런 식으로 할

+0

'좋아요'로 시도해 볼 수 있습니까? – Abubakkar

+0

'TABLE_NAME'의 선언을 보여줄 수 있습니까? 거기에 세미콜론이 있습니까? –

+0

결과가 목록 <>이므로 모든 별표를 별표의 목록에 추가하여 정확한 열 이름을 입력하십시오 – Meghna

답변

-1

시도를 도와주세요 :

SQLiteDatabase mDb; 
    DataBaseHelper mDbHelper; 
    mDbHelper = new DataBaseHelper(context); 
    mDb = mDbHelper.getWritableDatabase(); 
    Cursor cursor = mDb.query(TABLE_NAME, null, ContactEmail + " =? ", new String[] { "[email protected]" }, null, null, null); 
    //Continue with your code 


private static class DataBaseHelper extends SQLiteOpenHelper { 

     /* Create a helper object to create, open, and/or manage a database */ 
     DataBaseHelper(Context context) { 
      super(context, TABLE_NAME, null, DATABASE_VERSION); 
     } 

     /* Called when the database is created for the first time */ 
     @Override 
     public void onCreate(SQLiteDatabase db) { 
        //Your code 
     } 

      /* Called when the database needs to be upgraded*/ 
     @Override 
     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
         //Your code 
     } 
} 
+0

'동의하지 않겠습니다!' – h2O

1

덕분에 당신의 응답 사람들을 위해 .. 내가 문제를 해결 ..

이것은 내가,

코드를 변경하고 일을 가지고 어떻게
public String selectValue(SQLiteDatabase sqliteDB, String contactEmail){ 

     String contactId="Nothing"; 

     Cursor c = sqliteDB.rawQuery("SELECT * FROM " + TABLE_NAME + " where ContactEmail = '"+contactEmail+"'", null); 
     if (c != null) { 
      if (c.moveToFirst()) { 
       contactId = c.getString(c.getColumnIndex("ContactId")); 
      } 
     } 
     return contactId; 
    } 

다시 한번 감사드립니다 !! 좋은 하루 되세요 !!