【发布时间】:2016-02-19 01:06:35
【问题描述】:
我在从 SQLLite 数据库中检索数据时遇到异常。
java.lang.IllegalStateException: Couldn't read row 0, col 2 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it
在线String username= result.getString(1);
主活动
mSubmit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SQLiteDatabase myDatabase=openOrCreateDatabase("Login",MODE_PRIVATE,null);
myDatabase.execSQL("CREATE TABLE IF NOT EXISTS Login(Username VARCHAR,Password VARCHAR);");
myDatabase.execSQL("INSERT INTO Login VALUES('"+mUserName.getText()+"','"+mPassword.getText()+"');");
}
});
第二个活动
SQLiteDatabase myDatabase=openOrCreateDatabase("Login",MODE_PRIVATE,null);
Cursor result=myDatabase.rawQuery("Select * from Login",null);
result.moveToFirst();
String username= result.getString(1);
String password=result.getString(2);
我哪里错了?
【问题讨论】:
-
尝试添加 if(result.moveToFirst()) 然后获取用户名和密码。并且列索引从 0 开始
-
@Raghunandan 仍然是同样的异常
-
你是不是把列索引改成了0和1,说没有2列
-
@Raghunandan 是的,我改变了..我希望我不需要在清单中添加任何权限
-
你仍然得到同样的异常无法从 CursorWindow 读取第 0 行第 2 列??
标签: android sqlite android-sqlite illegalstateexception