Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/188.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何正确构造此SQL查询_Java_Android_Sql - Fatal编程技术网

Java 如何正确构造此SQL查询

Java 如何正确构造此SQL查询,java,android,sql,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

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

    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”

Use


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

也许您可以尝试以下方法:

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....
}
public对象GetValues(字符串状态)
{
string query=“选择关键公司、关键岗位、关键备注、关键工资、关键状态
从数据库_表
其中KEY_STATUS=“””+STATUS+””;
数据库管理部分。。。
List=执行db comand。。。。
}

您在注释中指定的错误可能是由于查询中缺少“”。只是想一想。

我尝试过的是哪个数据库(mySQL、Oracle、SQL server等)的代码,但没有给出错误“SQLiteException near”for:语法错误:…”。数据库是SQLite3,而我的应用程序是android应用程序。你试过rawQuery吗<代码>mDb.rawQuery(“sql语句”,null)您的代码似乎是正确的。这很有效,谢谢。我不知道你需要用这样的单引号