2014-12-10 7 views
0

мое приложение для Android использует SQLITE. Когда я пытаюсь извлечь данные из определенной таблицы, все работает отлично, за исключением одного столбца, в частности, который имеет тип varchar и содержит огромный текст (строка base64, которая будет скрыта в файле).Ошибка получения данных из SQLITE

, когда я пытаюсь получить любой другой столбец из этой таблицы, поиск будет успешным, но на этой колонке я получаю ошибку:

java.lang.IllegalStateException: Couldn't read row 0, col 0 from CursorWindow. Make sure the 
    Cursor is initialized correctly before accessing data from it. 

Вот мой код:

String Filequery= "Select FileName from Hyperlinks_GVT where Taskcode='"+currentTaskCode+"' 
         and Name='"+tempItem.getText()+"'"; 
        Log.d(TAG,"Query is: "+Filequery); 
       try { 
        cursor3 = MainActivity.myDataBase.rawQuery(Filequery, null); 
        String Data=""; 
        byte[] btData; 
        if (cursor3 != null && cursor3.moveToFirst()){ 
         do { 
         Data=cursor3.getString(cursor3.getColumnIndex("FileName")); 
         } while (cursor3.moveToNext()); 
        } 
        cursor3.close(); 

таблица:

CREATE TABLE [Hyperlinks_GVT](
[ID] integer PRIMARY KEY AUTOINCREMENT NOT NULL, 
[Taskcode] [int] NOT NULL, 
[TaskYear] [int] NOT NULL, 
[Name] [varchar](100) NOT NULL, 
[FileName] [varchar] NOT NULL, 
[Notes] [varchar](200) NOT NULL, 
[UserID] [nvarchar](50) NOT NULL, 
[CreationDT] [varchar](100) NOT NULL) 

имя_файла колонка с большими данными ПРИМЕЧАНИЕ. Когда я выполняю запрос в Firefox с помощью SQLITE Manager, запрос извлекает результаты, поэтому запрос в порядке и не имеет ошибок. любая помощь будет оценена.

+0

попробуйте с жестко закодированным мелким текстом в FileNamem, и проверьте, работает ли оно или нет. – andrewww

+0

. Хорошо это сделает –

+0

. Он отлично работает с небольшим текстом. –

ответ

-1

ИСКАТЬ: изменить тип данных из файла varchar в TEXT.

+0

Я попробую, что –

+0

Я пробовал это, и теперь у меня есть дополнительная ошибка: 12-10 11: 15: 26.104: W/CursorWindow (11911): Окно заполнено: запрошенное выделение 3382005 байт, свободное пространство 2096708 байт, окно size 2097152 bytes –

+0

Так что, я думаю, я не могу получить столько данных одновременно: /? –

Смежные вопросы