2012-05-24 302 views
-2

我有一個活動,它有兩個編輯文本字段,一個用於標題,另一個用於故事。
條目做了兩個文本字段保存在數據庫中,也該數據庫有一個ROW_IDTITLE_IDSTORY_ID .The條目顯示在列表視圖
當一個項目被長時間點擊,我得到行ID對應的項目。
我應該如何從這裏得到TITLE_IDSTORY_ID需要數據庫幫助

+2

請張貼相關的代碼使用它們和任何logcat錯誤。 – Sam

+0

學習一些基本的SQL將有助於你的情況。 – JoxTraex

+0

好吧@Imran我會牢記這一點:) – user47

回答

1

說,你有相應的行ID是長期點擊變量的項目rid。然後,運行以下查詢:

String q = "SELECT * FROM TABLE_NAME where(ROW_ID like '"+rid+"')"; 
    Cursor c = db.rawQuery(q, null); // db is a object of SQLiteDatabase type 

然後檢索的title_idSTORY_ID,如:

   if(c.getCount() == 0) 
       {     
       //No entry found 
       } 
       else { 
        c.moveToFirst(); 
        do { 
         String titleid = c.getString(c.getColumnIndex("TITLE_ID")); 
         String storyid = c.getString(c.getColumnIndex("STORY_ID")); 
         } while (c.moveToNext());     
      c.close(); 

然後只要你喜歡:)

+0

沒有原因的原始查詢。使用.query()的標準sqlite數據庫交互綽綽有餘。也不太容易出錯。 – JoxTraex

+0

@JoxTraex經過大量的搜索和瀏覽開發者網站後,我發現** rawQuery **與** query()**相比沒有任何性能差異。他們唯一的區別在於結構。 ** query()**需要你在段中輸入語句的不同部分,並用逗號分隔它們,但是對於初學者來說,** rawQuery **中的語句要容易得多。我應該爲此得到一個downvote嗎? –

+0

基本上,規則是..如果它更簡單,它的錯誤更少。你的答案仍然正確,但你對原始查詢使用如此簡單的方法是過分的。 – JoxTraex

1

您可以查詢與ROW_ID對應的TITLE_ID和STORY_ID的數據庫。

發佈您的代碼,我們將能夠給出更具體的答案。