【发布时间】:2013-03-28 15:35:12
【问题描述】:
我正在开发一个具有内部 Sqlite 数据库的项目。我添加了一个新表(Table1) 通过外壳和通过 android 在其中插入和删除一些新值的 1 列(column1)。我尝试通过命令行添加两个新列 column2 和 column3 并通过 shell 调用它:
**PRAGMA table_info(Table1);**
我看到两个新列的创建是正确的,因为我得到了这个输出:
*0|column1|varchar(20)|1||1
1|column2|varchar(255)|1||0
2|column3|varchar(255)|1||0*
很好。 对
的调用**cursor.getColumnIndex("column1"));**
继续正常,但是 在这里传递另一个参数:
**cursor.getColumnIndex("column2"));**
正在返回-1,例如此列尚未创建。所以相同的数据库,但shell和android之间的区别。有什么提示可以帮助您了解问题所在?
【问题讨论】:
-
如何创建光标?
-
Cursor cursor = db.query("Table1", columns, condition, null, null, null, null); while (cursor.moveToNext()) { ...