我使用以下sql语句创建了一个数据库
private static final String DATABASE_CREATE = "create table "+ TABLE_USERLOCATION + "("
+ COLUMN_ID+" integer primary key autoincrement, "
+ COLUMN_LONGITUDE +" real not null, "
+ COLUMN_LATITUDE+" real not null, "
+ COLUMN_TIME + " timestamp not null default current_timestamp);";
当我尝试通过获取COLUMN_TIME时
cursor.getColumnIndex(GPSSqliteHelper.COLUMN_TIME)
我得到-1(显然是一个错误)
但是,当我进入模拟器中的数据库目录并查看所有条目时,我看到已添加了时间戳:
1 | 2.71828 | 3.14159166666667 | 2013-04-09 00:05:50
2 | 2.71828 | 3.14159166666667 | 2013-04-09 00:35:09
如何访问日期,为什么getColumnCount()返回3而不是4?
我完成了this教程(我的表创建语句基本上类似于那里的那个表)。
干杯
最佳答案
当然为时已晚,但万一有人来这里遇到同样的问题...
未在allColumns中声明COLUMN_TIME,应为:private String[] allColumns = {GPSSqliteHelper.COLUMN_ID, GPSSqliteHelper.COLUMN_LONGITUDE, GPSSqliteHelper.COLUMN_LATITUDE, GPSSqliteHelper.COLUMN_TIME}