android菜鸟
16lz
2021-01-23
public Person find(Integer id) {
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person where personId=?",
new String[] { id.toString()});
if (cursor.moveToFirst()) {
int personid = cursor.getInt(cursor.getColumnIndex("personId"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
String phone = cursor.getString(cursor.getColumnIndex("phone"));
return new Person(personid, name, age, phone);
}
cursor.close();
return null;
}
原来SQLite 数据库是有区分字母大小写的,修改前,运行提示出错:
java.lang.IllegalStateException: get field slot from row 0 col -1 failed
at android.database.CursorWindow.getLong_native(Native Method)
at android.database.CursorWindow.getInt(CursorWindow.java:434)
at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:93)
at cn.lyun.service.PersonService.find(PersonService.java:60)
at cn.lyun.test.PersonServiceTest.testFind(PersonServiceTest.java:32)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
SQLiteDatabase db = dbOpenHelper.getReadableDatabase();
Cursor cursor = db.rawQuery("select * from person where personId=?",
new String[] { id.toString()});
if (cursor.moveToFirst()) {
int personid = cursor.getInt(cursor.getColumnIndex("personId"));
String name = cursor.getString(cursor.getColumnIndex("name"));
int age = cursor.getInt(cursor.getColumnIndex("age"));
String phone = cursor.getString(cursor.getColumnIndex("phone"));
return new Person(personid, name, age, phone);
}
cursor.close();
return null;
}
原来SQLite 数据库是有区分字母大小写的,修改前,运行提示出错:
java.lang.IllegalStateException: get field slot from row 0 col -1 failed
at android.database.CursorWindow.getLong_native(Native Method)
at android.database.CursorWindow.getInt(CursorWindow.java:434)
at android.database.AbstractWindowedCursor.getInt(AbstractWindowedCursor.java:93)
at cn.lyun.service.PersonService.find(PersonService.java:60)
at cn.lyun.test.PersonServiceTest.testFind(PersonServiceTest.java:32)
at java.lang.reflect.Method.invokeNative(Native Method)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:169)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:154)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:529)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1448)
更多相关文章
- Android统计EditText的字母数字以及汉字的统计方法
- Android 之 Fast Scroll 、字母索引栏
- Android ListView城市列表,按a-z分组字母索引排序
- Android 怎么防止AlertDialog Button按钮字母变大写
- Android中使用indexablerecyclerview以及右侧字母索引基本使用
- android ListView根据字母排序和定位
- Android 通讯录中用到的关于按名字首字母排序方法