我有以下数据库,我检查过它有很少的记录(不是空的)。我的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
答案 0 :(得分:3)
查询没有清楚地返回null,因为你没有得到NullPointerException
得到CursorIndexOutOfBoundsException
,因为你在使用游标之前没有调用moveToFirst
就在这一行之前
return mCursor.getString(0);
你需要做
mCursor.moveToFirst();