2013-03-09 74 views
1

嗨,我是新來的android編程,我創建了一個示例應用程序,它允許用戶從數據庫中獲取數據。然而它沒有顯示數據,它沒有任何錯誤信息,只是沒有顯示它。數據庫被確認有數據。請檢查我的代碼,也許我在這裏忘了一些東西謝謝如何從sqlite檢索記錄

public void onClick(View arg){ 
    name = txtNameS.getText().toString(); 
    if(arg.getId()==R.id.btnfortune){ 
      searchRecord(count); 
      lblmessageS1.setText(name); // this is just for me to check  if it will be displayed and it is. 
      lblmessageS2.setText(message); 
    } 

} 



public void searchRecord(int count) throws SQLException { 
    Cursor rsCursor; 

    String [] rsFields = {"mesNum","Message"}; 

    rsCursor = dbM.dbase.query("MessageFile", rsFields, "mesNum = " + count, null, null, null, null, null); 
    rsCursor.moveToFirst(); 

    if (rsCursor.isAfterLast()==false){ 

     message = rsCursor.getString(1); 
    } 

    rsCursor.close(); 
} 

通過這種方式count被初始化爲1,並且在數據庫中有10條記錄。並且數據庫中有兩列mesNum和Message,我想要的只是顯示消息列。

+0

爲什麼你就是不調試它只能添加一個列名? – mihail 2013-03-09 07:47:56

回答

0

您的陣列

String [] rsFields = {"Message"}; 

    cursor = dbM.dbase.query(true,"MessageFile", rsFields, "yourcolumn= "+count, null, null, null, null, null); 

while(cursor != null && cursor.moveToNext()) 
{ 
    cursor.getString(0); 
} 
cursor.close(); 
+0

沒有先生..我想從數據庫中得到一個特定的記錄 – user2150934 2013-03-09 07:23:46

+0

好吧,我的壞...我是編輯我的答案,然後 – KDeogharkar 2013-03-09 07:25:22

+0

先生BaZinga謝謝你的答案,它解決了這個問題,非常感謝你 – user2150934 2013-03-09 07:42:35

1
 // SQLiteDatabase sqldb 
    Cursor rsCursor= sqldb.rawQuery("your query", null); 
    if (rsCursor!= null) { 
      if (rsCursor.moveToFirst()) { 
       do { 
        // do here for get data message = rsCursor.getString(1); 
        }while (cursor.moveToNext()); 
      } 
      cursor.close(); 
     } 
+0

先生我會得到一些錯誤,如果我使用這段代碼片段,我會得到一個致命的異常 – user2150934 2013-03-09 07:25:09

+0

你能發佈異常 – urveshpatel50 2013-03-09 08:17:23