Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.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_Sqlite - Fatal编程技术网

Android SQLite查询以获取列数据

Android SQLite查询以获取列数据,android,sqlite,Android,Sqlite,使用以下查询获取列数据: public String getR(String str) { String strR = "SELECT col_no FROM tracking where col_id = '"+str+"' ORDER BY col_no DESC LIMIT 1"; return strR; } 在活动中,我试图阅读返回的strR: String string = mydb.getR("1400"); Toast.makeText(Sy

使用以下查询获取列数据:

public String getR(String str) {

    String strR = "SELECT col_no FROM tracking where col_id = '"+str+"' ORDER BY col_no DESC LIMIT 1";

    return strR;
}
在活动中,我试图阅读返回的
strR

    String string = mydb.getR("1400");
    Toast.makeText(SyncAll.this, string, Toast.LENGTH_SHORT).show();
但是在Toast中,我得到的是
我的Select查询本身,而不是
Record
,如下所示:

SELECT col_no FROM tracking where col_id = '1400' ORDER BY col_no DESC LIMIT 1

我可以知道吗!我哪里出错了?

您正在调用函数getR,该函数返回字符串值strR

我假设mydb是来自类SQLiteOpenHelper的扩展对象,并且您已经遵循了这里的文档,那么您将不得不执行如下查询:

    Cursor cursor = null;
    try {
        SQLiteDatabase db = this.getWritableDatabase();
        synchronized(this) {
            cursor = db.rawQuery(query, null);
            if (cursor.moveToFirst()) {
                col_no = cursor.getInt(0);
            }

        }
    } finally {
        if (null != cursor)
            cursor.close();
    }
    return col_no;

我尝试了上面prosper k建议的相同方法,最终得到了解决方案:

public String getR(String str) {

    String strR = "SELECT col_no FROM tracking where col_id = '"+str+"' ORDER BY col_no DESC LIMIT 1";

    SQLiteDatabase db = this.getWritableDatabase();
    Cursor cursor = db.rawQuery(strR, null);

    if (cursor != null)
        cursor.moveToFirst();

        strR = cursor.getString(0);

    return strR;
}

Dude,使用
SQLiteDatabase.rawQuery(strR,null)要在数据库上执行查询,然后从游标中提取数据,请不要对此进行否决表决,我也尝试并发布了我的代码。。。请尊重我,我从不投这种类型的票。有关问题,请参见下面的tut
getAllContacts()
method谢谢我找到了解决方案,你的技巧对我很有用@ρаσѕρєаK勾选了你的评论,认为有用