-1

我有以下数据库,我检查过它的记录很少(不是空的)。我的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);

日志错误:

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

1 回答 1

3

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

就在这条线之前

return mCursor.getString(0);

你需要做

mCursor.moveToFirst();
于 2013-10-01T14:39:37.337 回答