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

时间:2012-02-25 15:39:23

标签: 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的行。此时我将完整的表放入列表视图中,而不仅仅是想要的行。这段代码有什么问题?

提前致谢

1 个答案:

答案 0 :(得分:1)

我不知道我是否理解你想要的东西,但如果你想用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);
}