0

基本上,我想返回数据库中的实际值,而不是当前指向的位置。通过阅读此内容,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 的位置)。现在说该值是“Fred”,我想在我的应用程序上显示它。这是我在活动中的代码:

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 值,我应该构建一个单独的方法来返回索引吗?对不起,如果这被阴暗地解释了,我只是有点糊涂!

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

4

2 回答 2

0

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

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

在我在网上看到的示例中,我没有看到他们说 return mCursor ......他们只是说 return;

还可以尝试以下方法:

mCursor.getString(mCursor.getColumnIndex("title"));
于 2012-01-23T20:02:55.020 回答
0
mCursor.getString("title");

应该在光标中返回标题。

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

于 2012-01-23T20:09:26.847 回答