2013-10-22 41 views
0

我實現了一個列表,其中的項目是從數據庫中獲得的,當我點擊下一頁上的一個項目時,我希望它向我顯示關於存儲在其中一個項目中的信息數據庫行。但會發生no such :name問題。檢索從sqlite數據庫中的一行

我的代碼檢索該行是:

public Cursor getPerson(String name) throws SQLException 
{ 
    Cursor mCursor = 
    db.query(true, Constants.TABLE_NAME, null, Constants.PERSON_NAME + "=" + name, null, null,null, null, null); 
    if (mCursor != null) { 
     mCursor.moveToFirst(); 
    } 
    return mCursor; 
} 

我對點擊項目代碼:

protected void onListItemClick(ListView l, View v, int position, long id) { 
    super.onListItemClick(l, v, position, id); 
    db.open(); 
    try{ 
     Cursor c=db.getPerson(mAdapter.getItem(position)); 
     p.setName(c.getString(c.getColumnIndex(Constants.PERSON_NAME))); 
     p.setAccount(c.getLong(c.getColumnIndex(Constants.ACCOUNT))); 
     if(c.getInt(c.getColumnIndex(Constants.TYPE))>0) 
      p.setType(true); 
     else 
      p.setType(false); 
     Intent intent =new Intent(Main.this, Person_page.class); 
     intent.putExtra("com.pooya.dongali.Main", p); 
     startActivity(intent); 
    }catch(SQLException ex){ 
     ex.printStackTrace(); 
    } 
    db.close(); 

}

回答

0

db.query(true, Constants.TABLE_NAME, null, Constants.PERSON_NAME + "=?", new String[]{name}, null,null, null, null);