Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/208.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
Android 如何按字符串查询SQLite表?_Android_Database_String_Sqlite - Fatal编程技术网

Android 如何按字符串查询SQLite表?

Android 如何按字符串查询SQLite表?,android,database,string,sqlite,Android,Database,String,Sqlite,我是android的noob,我正在尝试查询sqlite表。我已经阅读了一些教程,知道如何查询一个表以返回整列值,但我似乎不知道如何通过字符串从一列中查询一个值。非常感谢您的帮助。这是我的密码: 查询和返回整个列的值的成功代码: public String getValue() { // TODO Auto-generated method stub String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY

我是android的noob,我正在尝试查询sqlite表。我已经阅读了一些教程,知道如何查询一个表以返回整列值,但我似乎不知道如何通过字符串从一列中查询一个值。非常感谢您的帮助。这是我的密码:

查询和返回整个列的值的成功代码:

public String getValue() {
        // TODO Auto-generated method stub
        String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_QUANTITY, KEY_OUNCES, KEY_VALUE };
        Cursor c = ourDatabase.query(DATABASE_TABLE, columns, null, null, null, null, null);
        String result = "";

        int iRow = c.getColumnIndex(KEY_ROWID);
        int iName = c.getColumnIndex(KEY_NAME);
        int iQuantity = c.getColumnIndex(KEY_QUANTITY);
        int iOunces = c.getColumnIndex(KEY_OUNCES);
        int iValue = c.getColumnIndex(KEY_VALUE);

        for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()){
            result = result + /*c.getString(iRow) + " " +*/ c.getString(iValue) + "\n";
        }           

    return result;
}
我尝试按字符串查询列中的单个值:

public String getSingleValue(String aCoin) throws SQLException{
    // TODO Auto-generated method stub
    String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_QUANTITY, KEY_OUNCES, KEY_VALUE};     
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_NAME + "=" + aCoin, null, null, null, null);
    String result = "";

    int iRow = c.getColumnIndex(KEY_ROWID);
    int iName = c.getColumnIndex(KEY_NAME);
    int iQuantity = c.getColumnIndex(KEY_QUANTITY);
    int iOunces = c.getColumnIndex(KEY_OUNCES);
    int iValue = c.getColumnIndex(KEY_VALUE);

    if (c != null){
        c.moveToFirst();
        result= c.getString(1);
        return result;
    }
    return null;
}
改变这个

   String[] columns = new String[]{ KEY_ROWID, KEY_NAME, KEY_QUANTITY, KEY_OUNCES, KEY_VALUE };

如果只想获取名称列

        String[] columns = new String[]{ KEY_NAME};
    Cursor c = ourDatabase.query(DATABASE_TABLE, columns, KEY_NAME + "=" + aCoin, null, null, null, null);
    String result = "";
   if (c != null){
        c.moveToFirst();
        result= c.getString(0);
        return result;
    }
    return null;