实际上在我的应用程序上显示我的SQL数据库值,而不是位置

时间:2012-01-23 19:33:06

标签: android sql database cursor getstring

基本上,我想返回数据库中的实际值,而不是当前指向的位置。从阅读中看,getString方法似乎是我需要的人,但这似乎并没有起作用。这是代码:

public Cursor fetchNote(long rowId) throws SQLException {

    Cursor mCursor =

        mDb.query(true, DATABASE_TABLE, new String[] {KEY_TITLE}, KEY_ROWID + "=" + rowId, null,
                null, null, null, null);
    if (mCursor != null) {
        mCursor.moveToFirst();

    }

    return mCursor;

这是我非常标准的查询,它应该为我获取结果(即我的mCursor的位置)。现在说价值是'弗雷德'我想在我的应用程序上显示。这是我活动中的代码:

TextView currentName = (TextView) findViewById(R.id.currentName);
        String me = myDatabaseHelper.fetchNote(1).toString();
        currentName.setText(me);

现在,当我运行此命令并单击具有此监听器的按钮时,它会显示以下android.database.sqlite.SQLiteCursor@44f78c00,因为我有点期待,但我无法让它向我显示该值。我想我需要在我的查询中加入mCursor.getString(mCursor.getColumnIndex("title"));或类似的东西,但它现在返回mCursor值,我应该建立一个单独的方法来返回索引吗?对不起,如果这是狡猾的解释,我只是有点混乱!

如果您需要更多代码/更多信息让我知道,请提前感谢任何帮助我的人。

2 个答案:

答案 0 :(得分:0)

光标是包含您信息的整个数据结构。假设您已执行查询并加载了游标,则需要使用其中一个游标函数来输出当前行。

在整个光标上运行toString()是您看到的输出。

关于我在网上看到的例子,我没有看到他们说回复mCursor ......他们只是说回来;

同时尝试以下方法:

mCursor.getString(mCursor.getColumnIndex("title"));

答案 1 :(得分:0)

mCursor.getString("title");

应该在游标中返回标题。

如果你想要索引,mCursor.getColumnIndex("title")就足够了。