java - 为什么我的 getColumnIndex() 返回 -1?

标签 java android database sqlite cursor

好的,这是我的数据库创建语句:

create table entry (
 _id integer primary key autoincrement,
 date integer not null,
 checknum integer,
 payee text not null,
 amount integer not null,
 category text,
 memo text,
 tag text
);

创建数据库后,我进行如下调用:

mChecknum = cursor.getColumnIndex("checknum");

mChecknum 为-1。我已从设备中提取数据库并在其上使用了 SQLite 浏览器,校验码字段就在那里。

阻止有问题的语句:

mDbHelper.open();
Cursor cursor = mDbHelper.fetchAll();
startManagingCursor(cursor);
COL_DATE = cursor.getColumnIndex("date");
Log.v("Main:123", "COL_DATE: " + String.valueOf(COL_DATE) );
COL_CHECKNUM = cursor.getColumnIndex("checknum");
Log.v("Main:125", "COL_CHECKNUM: " + String.valueOf(COL_CHECKNUM) );
COL_PAYEE = cursor.getColumnIndex("payee");

COL_DATE 返回 1,COL_PAYEE 返回 2。为什么忽略/忽略 COL_CHECKNUM?

最佳答案

在我的情况下,getColumnIndex 在名称包含“.”的列上返回错误。符号即:

int colIndex = cursor.getColumnIndex("Item No.");

尽管有“项目编号”栏。在游标内(调试器 Watch 显示它)试图获取列索引失败。

关于java - 为什么我的 getColumnIndex() 返回 -1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6485563/

相关文章:

java - Grep 输出到文件 (Java)

java - Java中的克隆对象

sql - 如何在记录中的子字符串上连接表?

php - 将数据插入 MongoDB 中的内部数组

javascript - 如何在 Node js 应用程序中执行 jar 文件

java - ERROR : Cannot load this JVM TI agent twice, 检查您的 java 命令行是否有重复的 jdwp 选项

android - 如何在 Android 中制作 Secret iOS App 文本动画?

java - 使 ActionBar 图标动态可见/不可见

c# - Xamarin Java.exe 以代码 1 退出(Proguard 问题)

database - 我以为我了解范式