SQLiteQuery返回null游标

时间:2013-10-01 14:35:52

标签: android sqlite cursor

我有以下数据库,我检查过它有很少的记录(不是空的)。我的selectLink()方法有问题,因为它返回null光标(想法是它应该返回给定“_id”的一行。

创建表:

private static final String DATABASE_CREATE = "create table HttpLinks ( _id integer primary key AUTOINCREMENT,name text not null);";

行检索:

public final static String ID="_id";
public final static String NAME="name"

public String selectLink(long id)   {
    String[] cols  = new String[] {NAME};
    Cursor mCursor = database.query(TABLE, cols, ID+"="+String.valueOf(id),null,null,null,null,null);
return mCursor.getString(0);

logcat错误:

E/AndroidRuntime﹕ FATAL EXCEPTION: main
    android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1

1 个答案:

答案 0 :(得分:3)

查询没有清楚地返回null,因为你没有得到NullPointerException得到CursorIndexOutOfBoundsException,因为你在使用游标之前没有调用moveToFirst

就在这一行之前

return mCursor.getString(0);

你需要做

mCursor.moveToFirst();