Android 游标#getType()的索引超出范围
基本上我有:Android 游标#getType()的索引超出范围,android,android-sqlite,Android,Android Sqlite,基本上我有: Cursor cur = ... for (int i = 0; i < cur.getColumnCount(); i++) { String name = cur.getColumnName(i); Log.d("dao",name); int type = cur.getType(i); cursorcur=。。。 对于(int i=0;i
Cursor cur = ...
for (int i = 0; i < cur.getColumnCount(); i++) {
String name = cur.getColumnName(i);
Log.d("dao",name);
int type = cur.getType(i);
cursorcur=。。。
对于(int i=0;i
…并进入getType()
调用上述异常。
列名称记录正确
由以下原因导致的错误AndroidRuntime:
android.database.CursorIndexOutOfBoundsException:请求索引-1,
大小为0的
这是SQLite数据库的一项功能,它使用动态类型。请检查。 你为什么不使用:
Cursor cur = ...
if (cursor != null) {
while (cursor.moveToNext()) {
String name = cur.getColumnName(i);
int type = cur.getType(i);
...
}
}
这样,如果存在行,则只请求类型
如果需要独立于任何结果的列类型,可以使用:
String tableName = "...";
Cursor cursor = rawQuery("pragma table_info(" +tableName +")");
String type = getString(0);
String name = getString(1);
希望这有帮助…干杯!我确实做了测试,但我没有发布。我的光标测试中有一个错误。无论如何,感谢您的解释。可能是重复的