Android SQL 数据库找不到正确的行

标签 android sql database row

大家好, 我是 android 的新手,但非常热衷于创建我的第一个应用程序 :) 所以这可能不是我关于数据库的最后一个问题 :)

我创建了一个带有教程的数据库,我可以向其中添加项目、删除项目等。我想在其中查找项目并将结果带到 cretad ListView 中。到目前为止:

setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, todoItems));
          ListView lv = getListView();
          lv.setTextFilterEnabled(true);

        hornot info = new hornot(this);
        info.open();


        Cursor c = info.getSearched("108");

        if (c.moveToFirst())
        {
        do{
                    todoItems.add(c.getString(0) + " " + c.getString(1) + " " + c.getString(2));
            }while (c.moveToNext());
        }
            if (todoItems.size() > 0)
            {
        lv.setAdapter(new ArrayAdapter<String>(sqlsearch.this,android.R.layout.simple_list_item_1, todoItems));
            }



            info.close(); 

        }

在我的数据库中,getSearched() 函数如下所示:

public Cursor getSearched(String qq) {
        String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_HOTNESS};
            return ourDatabase.query(DATABASE_TABLE, columns, qq , null, null, null, null);


    }

如您所见,我想选择其中包含 qq 的行。但我想选择 KEY_ROWID 等于 108 的行。此刻我将整个表放入 ListView 中,而不仅仅是想要的行。这段代码有什么问题?

提前致谢

最佳答案

我不知道我是否明白你想要什么,但如果你想获得 KEY_ROWID 108 的记录,请使用查询方法的第三个参数(即 WHERE 查询的选择子句):

public Cursor getSearched(String qq) {
        String[] columns = new String[]{KEY_ROWID, KEY_NAME, KEY_HOTNESS};
            return ourDatabase.query(DATABASE_TABLE, columns, KEY_ROWID + " = " + qq , null, null, null, null);
}

关于Android SQL 数据库找不到正确的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9445411/

相关文章:

android - FileProvider 包括所有子文件夹

sql - 公交时刻表数据库设计

mysql - 如何使用phpmyadmin将csv数据导入wordpress数据库?

android - app :theme is now deprecated. 请改为使用 android:theme

android - 如何在不裁剪不同尺寸显示器的情况下设置背景图像?

android - 如何使Android应用程序兼容多个屏幕(不同尺寸和不同分辨率)

sql - sql查询中的 "?"是什么意思?

php - Laravel 或哪里

sql - 数据库架构设计 : Tracking User Balance with concurrency

java - 线程 "AWT-EventQueue-0"中出现异常;传递给持久化的分离实体(在 Java 中)