мое приложение для 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, запрос извлекает результаты, поэтому запрос в порядке и не имеет ошибок. любая помощь будет оценена.
попробуйте с жестко закодированным мелким текстом в FileNamem, и проверьте, работает ли оно или нет. – andrewww
. Хорошо это сделает –
. Он отлично работает с небольшим текстом. –