2013-11-25 40 views
-1

我有一個問題,這是我有我的數據庫的數據列表..我想當我點擊一個項目,它開始新的活動,並顯示其餘的選定的項目數據到文字瀏覽.. 這是我的代碼:從數據庫設置文本到文字瀏覽

userList.setOnItemClickListener(new OnItemClickListener() { 

     public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) { 
      Cursor c = dataBase.rawQuery("SELECT FROM" 
       +DbHelper.TABLE_NAME+"WHERE"+DbHelper.KEY_ID+"="+arg3, null); 
      Intent i = new Intent(getApplicationContext(),BookDetails.class); 
      startActivity(i); 
      t1.setText(c.getString(c.getColumnIndex(DbHelper.KEY_NAME))); 
      t2.setText(c.getString(c.getColumnIndex(DbHelper.KEY_AUTHOR))); 
      t3.setText(c.getString(c.getColumnIndex(DbHelper.KEY_ISBN))); 
      t1.setText(c.getString(c.getColumnIndex(DbHelper.KEY_COPIES))); 
      t1.setText(c.getString(c.getColumnIndex(DbHelper.KEY_INFO))); 
     } 
    });} 

但是當我對項目的應用程序將停止並退出單擊它沒有工作..! 有人可以幫我嗎? 有沒有比這更好的方式來做到這一點?

謝謝

回答

0

t1.setText(c.getString(c.getColumnIndex(DbHelper.KEY_NAME))+ 「」);或者 t1.setText(c.getString(c.getColumnIndex(DbHelper.KEY_NAME))。toString());

+0

嘗試過,但沒有工作:(任何其他建議? –

+0

DbHElper可以嗎? – mohsen

+0

是的,它工作正常 –

0

當詢問「強制關閉」問題時,請包含來自logcat的異常堆棧跟蹤。

這裏有SQL語法問題,將導致異常:

Cursor c = dataBase.rawQuery("SELECT FROM" 
+DbHelper.TABLE_NAME+"WHERE"+DbHelper.KEY_ID+"="+arg3, null); 
  • 你需要指定你選擇列。 SELECT *選擇所有列

  • 您需要在關鍵字如FROMWHERE之間留有空格,並且標識符如表或列名稱。

  • 最好使用?變量綁定,而不是在查詢中硬編碼變量值。

所以,這樣的事情:

Cursor c = dataBase.rawQuery("SELECT * FROM " 
+DbHelper.TABLE_NAME+" WHERE "+DbHelper.KEY_ID+"=?", new String[] { arg3 }); 

另外請注意,你覆蓋文本t1兩次。但那不會引起例外。

相關問題