Форум программистов, компьютерный форум, киберфорум
Наши страницы

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 12, средняя оценка - 4.75
di109
2 / 2 / 0
Регистрация: 01.04.2012
Сообщений: 110
#1

Cursor c = db.rawQuery - выдает ошибку - Программирование Android

16.03.2013, 13:37. Просмотров 1744. Ответов 2
Метки нет (Все метки)

Есть таблица с датами, и есть SQL условие для получения даты. Если я в условие указываю дату которая есть в таблице код отрабатывает без ошибок и я получаю дату. Но если указываю дату которой нет в таблице приложение аварийно завершается! Почему так происходит где ошибка. Вообще я ожидал nuul или пусто. Если данный SQL запрос выполнить в Менеджере SQLite: получаю пусто если даты нет или дату если такая есть.

Может ошибка в этом: c.moveToFirst();

Код:
Java
1
2
3
4
5
6
7
8
        String table = "datadenominator2";
        String data = "16.03.2012";
 
        Cursor c = db.rawQuery("SELECT Date FROM "+table+"  WHERE Date = '"+data+"'", null);
        
        c.moveToFirst();
        
        String strData= c.getString(c.getColumnIndex("Date"));
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.03.2013, 13:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Cursor c = db.rawQuery - выдает ошибку (Программирование Android):

RawQuery using cursor - Программирование Android
Здравствуйте. Я сформировал запрос в БД : Cursor cursor2 = db.rawQuery("SELECT catname4 FROM contact_table WHERE catname2='Riko'...

Не работает rawquery - Программирование Android
Приветствую, Вызываю вот такую функцию: public double getCatByDate(long date){ String qry="SELECT SUM(sum) FROM " +...

Не работает запрос через rawQuery - Программирование Android
Имеется код, String arg1=Integer.toString(lang); - String arg2=Integer.toString(idAf); mCursor = database.rawQuery("SELECT...

Эмулятор выдает ошибку - Программирование Android
Изучаю программирование под android. Написал HelloWorld все нормально. Делаю другое приложение где 4 кнопки запускаю на эмуляторе...

Eclipse выдает ошибку - Программирование Android
Emulator] PANIC: Could not open AVD config file: C:\Users\Алексей\.android\avd\Android2.1.avd/config.ini как исправить?

Фонарик выдает ошибку - Программирование Android
Всем привет! Делаю фонарик: package com.goodapps.flashlight; import android.content.DialogInterface; import...

2
dubok79
323 / 121 / 11
Регистрация: 01.11.2012
Сообщений: 586
16.03.2013, 15:03 #2
Если у вас запрос ничего не вернет, то будет ошибка в c.moveToFirst();
Используйте try catch или проверяйте количество возвращенных записей запросом.
1
c4sp3r
0x5B4C322291BD52AE
92 / 92 / 5
Регистрация: 04.03.2013
Сообщений: 295
16.03.2013, 18:38 #3
Если у вас запрос ничего не вернет, то будет ошибка в c.moveToFirst();
c.moveToFirst() просто вернет false (в данном случае)!
getColumnIndex() вызывает CursorIndexOutOfBoundsException смотри в логах.

Можно сделать например так:

Java
1
2
3
4
5
6
7
...
if (cursor.moveToFirst()) {
       String strData= c.getString(c.getColumnIndex("Date");
} else {
      cursor.close();
}
...
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.03.2013, 18:38
Привет! Вот еще темы с ответами:

Dx.bat выдает ошибку - Программирование Android
При вызове: drStudio>call C:\Users\user\AppData\Local\Android\sdk\build-tools\23.0.1\dx.bat --dex...

Почему выдает ошибку? - Программирование Android
Почему выдает ошибку? вот

GoogleMap, getMap() выдает ошибку - Программирование Android
вызываю из главного окна новое активити кнопкой вот так: Intent intent = new Intent(MainActivity.this, MapViewActivity.class); ...

Приложение выдает ошибку и закрывается на android 4.2.2 и 4.4 - Программирование Android
Всем привет, столкнулся с проблемой что мое приложение не запускается на android 4.2.2 и 4.4, у меня приложение построено на шаблоне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.