从sqlite数据库中检索一行

时间:2013-10-22 09:19:21

标签: android-sqlite

我实现了一个列表,其项目来自数据库,当我点击下一页上的项目时,我希望它向我显示有关该项目存储在其中一个数据库行中的信息。但是会出现no such :name问题。

我检索行的代码是:

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();

}

1 个答案:

答案 0 :(得分:0)

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