Ошибка запроса Sqlite: неверный тип столбца - PullRequest
1 голос
/ 29 июня 2011

База данных:

  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 для хранения данных Date как поля Created_Date, пример кода в SDK делает. Я новичок в sqlite и Android.
Пожалуйста, помогите мне. Большое спасибо.

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Сделать дату также как ТЕКСТ тип не INTEGER , потому что дата может содержать какой-то специальный символ.

0 голосов
/ 19 июля 2011

«Тип» - это имя столбца и нашел способ решить проблему, до сих пор не понимаю:

public static final String[] PROJECTION_NOTE = new String[] {
        BaseColumns._ID, // 0
        NoteColumns.TITLE, // 1
        NoteColumns.NOTE,
        NoteColumns.CREATED_DATE,
        NoteColumns.MODIFIED_DATE,
        NoteColumns.TYPE + " as " + NoteColumns.TYPE,
        NoteColumns.NEED_NOTICE + " as " + NoteColumns.NEED_NOTICE,
        NoteColumns.NOTICE_WAY + " as " + NoteColumns.NOTICE_WAY,
        NoteColumns.NOTICE_TIME + " as " + NoteColumns.NOTICE_TIME,
    };
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...