0
这里是活动代码:例外:光标索引超出范围
//query
final dbhelper helper = new dbhelper(this);
Cursor c = helper.query();
boolean exist =false;
if(c != null && c.moveToFirst()){
Log.d("atestdbChar1no",String.valueOf(c.getCount()));
int i=0;
while(c.isAfterLast()){
Log.d("atestdb1",String.valueOf(i++));
Log.d("atestdb2",String.valueOf(c.getInt(0)));
Log.d("atestdb3",c.getString(1));
Log.d("atestdb4",c.getString(2));
c.moveToNext();
}
//insert
ContentValues values = new ContentValues();
if(!finWords.equals("null")){
if(finWords.length()>index){
String selectWord = finWords.substring(index, index+1);
values.put("character", finChar);
values.put("word", selectWord);
helper.insert(values);
这里是SQLiteOpenHelper代码:
public void insert(ContentValues values) {
SQLiteDatabase db = getWritableDatabase();
db.insert(TBL_NAME, null, values);
Log.d("test", "dbinsert");
db.close();
}
public Cursor query() {
SQLiteDatabase db = getWritableDatabase();
Cursor c = db.query(TBL_NAME, null, null, null, null, null, null);
Log.d("test", "dbquery");
return c;
}
我可以将数据插入到数据库 但我不能对它们进行查询 logcat说光标索引超出范围 ,只是输出一些数据,例如只输出ID 1,2,4,7然后强制关闭应用程序 但我已经插入14个数据 我的代码有什么问题?
后logcat跟踪,当你说有一个例外 – Pragnani
你是否在Cursor中获取数据?检查与函数c.moveToFirst()有记录返回.. – gks