【发布时间】:2011-07-19 15:17:51
【问题描述】:
数据库:
db.execSQL("CREATE TABLE " + TABLE_NAME_NOTE + " ("
+ BaseColumns._ID + " INTEGER PRIMARY KEY,"
+ NoteColumns.TITLE + " NVARCHAR(200),"
+ NoteColumns.NOTE + " TEXT,"
+ NoteColumns.CREATED_DATE + " INTEGER,"
+ NoteColumns.MODIFIED_DATE + " INTEGER,"
+ NoteColumns.TYPE + " INTEGER,"
+ NoteColumns.NEED_NOTICE + " INTEGER,"
+ NoteColumns.NOTICE_WAY + " INTEGER,"
+ NoteColumns.NOTICE_TIME + " INTEGER"
+ ");");
这是我的查询:
Cursor cursor = mContext.managedQuery(mContext.getIntent().getData(),
NoteEntry.PROJECTION_NOTE,
null, null, NoteColumns.DEFAULT_SORT_ORDER);
当 NoteEntry.PROJECTION_NOTE 为时,代码可以正常工作
public static final String[] PROJECTION_NOTE = new String[] {
BaseColumns._ID, // 0
NoteColumns.TITLE, // 1
NoteColumns.NOTE };
但是当我设置这个时我得到“无效的列类型”异常
public static final String[] PROJECTION_NOTE = new String[] {
BaseColumns._ID, // 0
NoteColumns.TITLE, // 1
NoteColumns.NOTE,
NoteColumns.CREATED_DATE,
NoteColumns.MODIFIED_DATE,
NoteColumns.TYPE,
NoteColumns.NEED_NOTICE,
NoteColumns.NOTICE_WAY,
NoteColumns.NOTICE_TIME
};
好困惑。
还有一个问题,我是否应该使用 INTEGER 类型将日期数据存储为 Created_Date 字段,sdk 中的代码示例可以。我是 sqlite 和 android 的新手。
请帮助我。非常感谢。
【问题讨论】: