如何正确构造此SQL查询

时间:2011-10-30 13:21:35

标签: java android sql

我想返回数据库中的行,其中一个字段中的属性等于方法的参数。我的代码是:

    public Cursor fetchStatus(String status){
    Cursor mCursor =  

            mDb.query(DATABASE_TABLE, new String[] {KEY_COMPANY, KEY_POSITION, KEY_NOTES, KEY_WAGE, KEY_STATUS}, 
                    KEY_STATUS+ "= "+status, null, null, null, null)
            ;
    if(mCursor!=null) mCursor.moveToFirst();
    return mCursor;
}

我想返回KEY_COMPANY,KEY_POSITION,KEY_NOTES,KEY_WAGE和KEY_STATUS列,其中KEY_STATUS等于参数'status'

2 个答案:

答案 0 :(得分:1)

使用PreparedStatement

您只需在搜索查询中指定查询和设置参数即可。

答案 1 :(得分:1)

也许您可以尝试这样的事情:

public object GetValues (string status)
{
   string query = "SELECT KEY_COMPANY, KEY_POSITION, KEY_NOTES, KEY_WAGE,KEY_STATUS 
   FROM DATABASE_TABLE 
   WHERE KEY_STATUS = "'" +status+ "'" " ;

   dbcomands part...

   List<object> =  execute db comand....
}

您在评论中指定的错误可能是由于查询中缺少“”造成的。只是一个想法。