2013-06-01 54 views
0

我面臨同樣的問題,因爲這個帖子 Showing users only their own uploads安卓:

我也有兩個數據庫一個用於上傳的東西,另一個用於登錄顯示用戶自己上傳的數據,我的問題是如何做到這一點查詢: SELECT * FROM照片WHERE author = AUTHENTICATED_USER_ID在android sqlite中。

這是我的SQLiteConnector類中的原始代碼,它只能顯示所有的圖片。

public Cursor getAllItem() { 
     db = sqlHp.getReadableDatabase(); 

     cur=db.query(ItemDb.TABLE,null, null, null, null, null, "name"); 

     return cur; 
    } 

編輯

我嘗試下面做查詢,但仍然有錯誤,任何想法,請? 類活動的

private class GetItem extends AsyncTask<Object, Object, Cursor> { 
     ItemSQLiteConnector dbConnector = new ItemSQLiteConnector(ItemActivity.this); 

     @Override 
     protected Cursor doInBackground(Object... params) { 
      return dbConnector.getAllItem(UserName); 
     } 

     @Override 
     protected void onPostExecute(Cursor result) { 
      itemAdapter.changeCursor(result);   
     } 

    } 

類SQLiteConnector

public Cursor getAllItem(String email) { 

     db = sqlHp.getReadableDatabase();  
     cur=db.query(ItemDb.TABLE,null, "email="+ email, null, null, null, "name");  
     return cur; 

    } 

回答

0

我會嘗試這一點,假設你有一個字符串USENAME其中包含身份驗證的用戶ID:

String[] userID = new String[] { 
    usename 
}; 

cur = db.query("photos", null, "author = ?", userId, null, null, "name") 

第一個值「照片」表示哪個表。

第二個值「null」表示需要所有列。

第三個值「author =?」是選擇過濾器,userId是它所比較的​​值。

最終的「名稱」是將用於排序順序的列。

+0

userId是String [],但我傳遞的值(usename)只是字符串,所以如何? – user2301281

+0

編輯(查看我的回答) – HalR

+0

是的,它的工作!非常感謝sooo! = D – user2301281