Android читает строку как блоб - PullRequest
1 голос
/ 12 декабря 2011

У меня следующий текст в базе данных SQLITE в поле TEXT

Точная дата его рождения неизвестна. Однако, по общему мнению, он родился около 580 г. до н. Э. Он был моложе своих друзей.

Он принадлежал к дворянской семье.

Когда я читаю это из БД и добавляю к ArrayList<String>, я получаю следующее сообщение об ошибке

14): unknown error: Unable to convert BLOB to string
14): unknown error: Unable to convert BLOB to string
14): unknown error: Unable to convert BLOB to string
14): unknown error: Unable to convert BLOB to string
14): Closing Cursor

Я запутался, почему это превращается в каплю? вот как я читаю это

String select = "SELECT heading,text FROM details WHERE chapter_id = \'" + tocIDX + "\'" ;

Constants.c = Constants.myDataBase.rawQuery(select, null);



int headingIndex = Constants.c.getColumnIndex("heading");
int headingTextIndex = Constants.c.getColumnIndex("text");

Constants.c.moveToFirst();
    if (Constants.c != null) {


        if (Constants.c.isFirst()) {

            int i = 0;

                /* Loop through all Results */ 

                do {

                        i++;
                        if(Constants.Debug){
                            Log.d("toc", "Row # " + i);}

                        try{
                              headingIndex.add(Constants.c.getString(headingIndex));
                            headingTextIndex.add(Constants.c.getString(headingTextIndex));          


    } catch (Exception e) {if(Constants.Debug){Log.d("toc", e.getMessage());}   }


                } while (Constants.c.moveToNext());

Высоко ценю вашу помощь

1 Ответ

0 голосов
/ 12 декабря 2011

Я думаю, что тип данных заголовка и текстовые столбцы определены как BLOB. Вы можете подстать данные, чтобы получить У вас есть два пути.

  • Подход-1) используйте SUBSTRING для получения строки из данных BLOB.

  • Подход-2) Если возможно, используйте VARCHAR вместо BLOB в качестве типа данных

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...