Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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 如何使用列值过滤器进行查询并获取原始值的最后一个值?_Java_Android_Sqlite_Android Sqlite - Fatal编程技术网

Java 如何使用列值过滤器进行查询并获取原始值的最后一个值?

Java 如何使用列值过滤器进行查询并获取原始值的最后一个值?,java,android,sqlite,android-sqlite,Java,Android,Sqlite,Android Sqlite,这里我通过下面的代码得到pushkeycolumn的最后一个值 String abc="value for filtering data" String selectQuery= "SELECT * FROM " + TABLE_NAME+" ORDER BY id DESC LIMIT 1"; SQLiteDatabase db = myDbHandler.getWritableDatabase(); Cursor cursor = db

这里我通过下面的代码得到pushkeycolumn的最后一个值

String abc="value for filtering data"
    String selectQuery= "SELECT * FROM " + TABLE_NAME+" ORDER BY id DESC LIMIT 1";
            SQLiteDatabase db = myDbHandler.getWritableDatabase();
            Cursor cursor = db.rawQuery(selectQuery, null);
            String str = "";
            if(cursor.moveToFirst())
                str  =  cursor.getString( cursor.getColumnIndex(COLUMN_PUSH_KEY) );
            Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
            cursor.close();
但现在我想通过一些预定义的字符串abc值来获取fromidcolumn set filter时pushkey的最后一个值。那么如何添加过滤器并进行查询呢


如果last的意思是按ID降序,则添加一个WHERE子句,如下所示:

String selectQuery= "SELECT pushkey FROM " + TABLE_NAME + " WHERE fromid  = 'DIX....UVa2' ORDER BY id DESC LIMIT 1"
如果您只想按fromid进行筛选:

String selectQuery= "SELECT pushkey FROM " + TABLE_NAME + " WHERE fromid  = 'DIX....UVa2'"
如果需要所有列,请更改为:

String selectQuery= "SELECT * FROM " + TABLE_NAME + " WHERE fromid  = 'DIX....UVa2'"
使用以下Java代码:

String fromid = "DIX....UVa2";
String selectQuery= "SELECT * FROM " + TABLE_NAME + " WHERE fromid  = ?";
SQLiteDatabase db = myDbHandler.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, fromid);
String str = "";
if(cursor.moveToFirst())
    str  =  cursor.getString( cursor.getColumnIndex(COLUMN_PUSH_KEY) );
Toast.makeText(this, str, Toast.LENGTH_SHORT).show();
cursor.close();
将DIX…UVa2替换为要从ID筛选列的值。
这将是结果的第一个值。

可能添加WHERE子句?@forpas:我不熟悉编写查询,如果您不介意,请添加一个带有完整查询的答案。为什么您不以文本模式发布示例数据和预期结果?代码中的查询甚至不使用相同的列名。您所说的:按键的最后值…?按键的最后值…?是什么意思pushkey是列,当fromid设置过滤器DIX…UVA2时,获取最后一个值pushkey列是什么意思?所有的值?这是一个错误的值,如果我有预定义的字符串而不是DIX…UVa2,那么我如何将其写为string或'string'或string?在第一种情况下:你说从句WHERE fromid='DIX…UVa2'我需要用其他预定义的字符串替换'DIX…UVa2',那么你的意思是什么?如果我有字符串abc=value,那么我该如何将其写为abc或“abc”或abc,其中fromid='DIX….UVa2'?