Урок 36. SQLite. Подробнее про метод query. Условие, сортировка, группировка
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добрый день, подскажите,пожалуйста, почему не работает(возвращает null)
public Cursor getTaskByName(String taskName){
try{
Cursor c= mDB.query(DB_TABLE_TASK, null, COLUMN_TASK_NAME+" = "+taskName, null,null,null,null);
return c;
}catch(SQLException e){
Log.d("myLogs","isNull");
return null;
}
}
причем существует все, что указано в запросе.В таблице пока одна запись и вызов
public Cursor getAllTaskData(){
return mDB.query(DB_TABLE_TASK,null,null,null,null,null,null);
}
работает и возвращает запись в которой COLUMN_TASK_NAME = taskName
public Cursor getTaskByName(String taskName){
try{
Cursor c= mDB.query(DB_TABLE_TASK, null, COLUMN_TASK_NAME+" = "+taskName, null,null,null,null);
return c;
}catch(SQLException e){
Log.d("myLogs","isNull");
return null;
}
}
причем существует все, что указано в запросе.В таблице пока одна запись и вызов
public Cursor getAllTaskData(){
return mDB.query(DB_TABLE_TASK,null,null,null,null,null,null);
}
работает и возвращает запись в которой COLUMN_TASK_NAME = taskName
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
1) форматируй код, никто его просто так не читает
2) в лог выводишь фигню
3) в логе ищи ошибку - там все написано
2) в лог выводишь фигню
3) в логе ищи ошибку - там все написано
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
03-02 13:07:32.230: D/dalvikvm(6829): GC_EXTERNAL_ALLOC freed 88K, 52% free 2612K/5379K, external 2032K/2137K, paused 173ms
03-02 13:07:32.450: D/myLogs(6829): ActivityTaskPattern
03-02 13:07:32.500: D/myLogs(6829): getTaskByName Str s = name = Пример
03-02 13:07:32.500: I/Database(6829): sqlite returned: error code = 1, msg = no such column: Пример
03-02 13:07:32.510: D/myLogs(6829): isNull
03-02 13:07:32.520: D/AndroidRuntime(6829): Shutting down VM
03-02 13:07:32.520: W/dalvikvm(6829): threadid=1: thread exiting with uncaught exception (group=0x40015560)
03-02 13:07:32.562: E/AndroidRuntime(6829): FATAL EXCEPTION: main
03-02 13:07:32.562: E/AndroidRuntime(6829): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.proj_timer/com.example.proj_timer.ActivityTaskPattern}: java.lang.NullPointerException
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.os.Handler.dispatchMessage(Handler.java:99)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.os.Looper.loop(Looper.java:123)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-02 13:07:32.562: E/AndroidRuntime(6829): at java.lang.reflect.Method.invokeNative(Native Method)
03-02 13:07:32.562: E/AndroidRuntime(6829): at java.lang.reflect.Method.invoke(Method.java:507)
03-02 13:07:32.562: E/AndroidRuntime(6829): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-02 13:07:32.562: E/AndroidRuntime(6829): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-02 13:07:32.562: E/AndroidRuntime(6829): at dalvik.system.NativeStart.main(Native Method)
03-02 13:07:32.562: E/AndroidRuntime(6829): Caused by: java.lang.NullPointerException
03-02 13:07:32.562: E/AndroidRuntime(6829): at com.example.proj_timer.ActivityTaskPattern.onCreate(ActivityTaskPattern.java:44)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-02 13:07:32.562: E/AndroidRuntime(6829): ... 11 more
03-02 13:07:36.260: I/Process(6829): Sending signal. PID: 6829 SIG: 9
3) Думал я над ним, думал, кроме NullPointerException ничего не пойму, да и с чего он выкинулся?Запросы по другим полям(не текстовым) работают
2)что нужно выводить в лог, чтобы было информативней?
1)Где посмотреть как форматировать,как вставлять код?
Если убрать проверку исключений и оставить только
Cursor c= mDB.query(DB_TABLE_TASK, null, COLUMN_TASK_NAME+" = "+taskName, null,null,null,null);
return c;
, в логах появляется:
03-02 13:43:11.530: W/dalvikvm(15403): threadid=1: thread exiting with uncaught exception (group=0x40015560)
03-02 13:43:11.560: E/AndroidRuntime(15403): FATAL EXCEPTION: main
03-02 13:43:11.560: E/AndroidRuntime(15403): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.proj_timer/com.example.proj_timer.ActivityTaskPattern}: android.database.sqlite.SQLiteException: no such column: Пример: , while compiling: SELECT * FROM myTasks WHERE name = Пример
03-02 13:43:11.560: E/AndroidRuntime(15403): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-02 13:43:11.560: E/AndroidRuntime(15403): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
myTasks- это DB_TABLE_TASK="myTasks", а name - COLUMN_TASK_NAME="name";
03-02 13:07:32.450: D/myLogs(6829): ActivityTaskPattern
03-02 13:07:32.500: D/myLogs(6829): getTaskByName Str s = name = Пример
03-02 13:07:32.500: I/Database(6829): sqlite returned: error code = 1, msg = no such column: Пример
03-02 13:07:32.510: D/myLogs(6829): isNull
03-02 13:07:32.520: D/AndroidRuntime(6829): Shutting down VM
03-02 13:07:32.520: W/dalvikvm(6829): threadid=1: thread exiting with uncaught exception (group=0x40015560)
03-02 13:07:32.562: E/AndroidRuntime(6829): FATAL EXCEPTION: main
03-02 13:07:32.562: E/AndroidRuntime(6829): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.proj_timer/com.example.proj_timer.ActivityTaskPattern}: java.lang.NullPointerException
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.os.Handler.dispatchMessage(Handler.java:99)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.os.Looper.loop(Looper.java:123)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-02 13:07:32.562: E/AndroidRuntime(6829): at java.lang.reflect.Method.invokeNative(Native Method)
03-02 13:07:32.562: E/AndroidRuntime(6829): at java.lang.reflect.Method.invoke(Method.java:507)
03-02 13:07:32.562: E/AndroidRuntime(6829): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-02 13:07:32.562: E/AndroidRuntime(6829): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-02 13:07:32.562: E/AndroidRuntime(6829): at dalvik.system.NativeStart.main(Native Method)
03-02 13:07:32.562: E/AndroidRuntime(6829): Caused by: java.lang.NullPointerException
03-02 13:07:32.562: E/AndroidRuntime(6829): at com.example.proj_timer.ActivityTaskPattern.onCreate(ActivityTaskPattern.java:44)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
03-02 13:07:32.562: E/AndroidRuntime(6829): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
03-02 13:07:32.562: E/AndroidRuntime(6829): ... 11 more
03-02 13:07:36.260: I/Process(6829): Sending signal. PID: 6829 SIG: 9
3) Думал я над ним, думал, кроме NullPointerException ничего не пойму, да и с чего он выкинулся?Запросы по другим полям(не текстовым) работают
2)что нужно выводить в лог, чтобы было информативней?
1)Где посмотреть как форматировать,как вставлять код?
Если убрать проверку исключений и оставить только
Cursor c= mDB.query(DB_TABLE_TASK, null, COLUMN_TASK_NAME+" = "+taskName, null,null,null,null);
return c;
, в логах появляется:
03-02 13:43:11.530: W/dalvikvm(15403): threadid=1: thread exiting with uncaught exception (group=0x40015560)
03-02 13:43:11.560: E/AndroidRuntime(15403): FATAL EXCEPTION: main
03-02 13:43:11.560: E/AndroidRuntime(15403): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.proj_timer/com.example.proj_timer.ActivityTaskPattern}: android.database.sqlite.SQLiteException: no such column: Пример: , while compiling: SELECT * FROM myTasks WHERE name = Пример
03-02 13:43:11.560: E/AndroidRuntime(15403): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
03-02 13:43:11.560: E/AndroidRuntime(15403): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
myTasks- это DB_TABLE_TASK="myTasks", а name - COLUMN_TASK_NAME="name";
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
в разделе форума R.id.team посмотри последний вебинар, Он посвящен данной проблеме.
в логе ищешь строку Caused by: в ней название ошибки.
далее после нее идут адреса В ТВОЕЙ ПРОГРАММЕ, Т.е. например
at com.example.proj_timer. бла-бла-бла
щелкаешь туда два раза и ищешь ошибку!!!!!!!!!!!!!!!!!!
Вторая часть вопроса не имеет отношения к твоей ошибке, но запрос составлен не правильно. Если ты ищешь строку или подстроку в колонках таблицы, то нужно ее заключать в кавычки.
SELECT * FROM myTasks WHERE name = 'Пример'
ясно?
поэтому ошибка "нет такой колонки ПРимер" означает, что колонка сравнивается не со строкой "пример", а с другой какой-то колонкой Пример. Вот оно бедное и пишет тебе no such column: Пример
Как видишь, тебе компилятор все пишет. Зачем же тебе переводчики? Как программировать дальше будешь?
в логе ищешь строку Caused by: в ней название ошибки.
далее после нее идут адреса В ТВОЕЙ ПРОГРАММЕ, Т.е. например
at com.example.proj_timer. бла-бла-бла
щелкаешь туда два раза и ищешь ошибку!!!!!!!!!!!!!!!!!!
Вторая часть вопроса не имеет отношения к твоей ошибке, но запрос составлен не правильно. Если ты ищешь строку или подстроку в колонках таблицы, то нужно ее заключать в кавычки.
SELECT * FROM myTasks WHERE name = 'Пример'
ясно?
поэтому ошибка "нет такой колонки ПРимер" означает, что колонка сравнивается не со строкой "пример", а с другой какой-то колонкой Пример. Вот оно бедное и пишет тебе no such column: Пример
Как видишь, тебе компилятор все пишет. Зачем же тебе переводчики? Как программировать дальше будешь?
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Не успел зарегистрироваться, уже дважды заглумили.Походу, суровое это ремесло-програмирование. За помощь большое спасибо!!!Помогло.
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
а ты как думал
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
все же хотелось бы как надо сделать. Формат YYYYMMDD.Foenix писал(а):тогда почитай данную тему.
У тебя не правильно выбран способ хранения даты в таблице.
Хранить лучше двумя способами. Понятный - в формате "YYYYMMDD" и аутентичный, в формате int как число секунд даты (я забыла, кажется какой-то день 1971 го года). Все это было на форуме.
Если ничего не менять, в принципе, тоже можно. Примерно таким запросом.
select * from mytable where year = 2014 order by year desc, month decs,day desc
select *from mytable where month = 2 and year 2014 order by...
третий сам догадаешься
Тут возникло несколько вопросов:
1. Я хочу получить строку с датой формата 2014-03-05. делаю такой запрос
Код: Выделить всё
select _id, date(columndate) as dat from mytable
2. Как мне получать не всю дату, а по отдельности год, месяц, день.
для получения года пробовал
Код: Выделить всё
select _id, year(columndate) as y from mytable
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
для манипуляций с датами используй класс Calendar
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Меня интересует как это SQL запросом сделатьFoenix писал(а):для манипуляций с датами используй класс Calendar
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
ну попробуй функцию SUBSTR в запросе
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Что то найти не могу или еще что
Мне нужен SQL запрос с 2-мя параметрами Where
с 1 получается, но с двумя не знаю как:
where = " id_text = 2 language='ru' "
Как можно выполнить такой запрос?
SELECT * FROM Text WHERE id_text=2 language='ru'
Если я 1 передаю все работает, но мне нужна выборка по двум параметрам.
Мне нужен SQL запрос с 2-мя параметрами Where
с 1 получается, но с двумя не знаю как:
where = " id_text = 2 language='ru' "
Как можно выполнить такой запрос?
SELECT * FROM Text WHERE id_text=2 language='ru'
Код: Выделить всё
...
String where = SQLiteData.TABLE_ARTICLE_COLUM_id_news +" = " +id_news;
// +" " + SQLiteData.TABLE_ARTICLE_COLUN_language + " = "+ "'"+ language +"'";
c = db_Worked.query(SQLiteData.TABLE_ARTICLE, null, where,
null, null, null, null);
...
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
есть такое слово AND...................
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Блин точно, все сижу и вспомнить, не мог.Foenix писал(а):есть такое слово AND...................
Это же AND OR еще можно и вложенный запрос сделать Блин нельзя работать по 9-10 часов
-
- Сообщения: 42
- Зарегистрирован: 18 дек 2013, 14:54
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Заранее прошу прощения, но я был приятно удивлен, что Вы - женщинаFoenix писал(а):ну жути нагнал ))
вообще-то нужно различать использование данного формата в java и в sqlite . Там это вовсе не timestamp называется. И дело тут не в том, чтоб получить заданную величину секунд и потом ее отформатировать (кстати, можно юзать класс Calendar), а чтоб В СПИСКЕ (читай "в курсор") получить отформатированную дату, чтоб потом ее вывести на экран. Для этого нужно юзать только функции sqlite.
В общем, почитаь можно тут http://sqlite.org/lang_datefunc.html
Вообще говоря, можно и не паритсья, как я сказала.
Есть еще куча разных способов форматнуть (или не форматировать )дату и вывести ее на экран)
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Она всех вечно удивляла,
Такая уж она была! (С)
P.S. Женщины на форуме есть, жаль, что нас мало
Такая уж она была! (С)
P.S. Женщины на форуме есть, жаль, что нас мало
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
-
- Сообщения: 4
- Зарегистрирован: 15 май 2014, 12:26
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
public void onClick(View v) {
// подключаемся к базе
db = dbHelper.getWritableDatabase();
А зачем подключаться к БД каждый раз при нажатии на кнопку, а потом закрывать подключение? Разве того, что мы подключились в методе OnCreate не достаточно?
// подключаемся к базе
db = dbHelper.getWritableDatabase();
А зачем подключаться к БД каждый раз при нажатии на кнопку, а потом закрывать подключение? Разве того, что мы подключились в методе OnCreate не достаточно?
Последний раз редактировалось Дмитрий Х. 15 май 2014, 13:24, всего редактировалось 1 раз.
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
это не подключение.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
-
- Сообщения: 4
- Зарегистрирован: 15 май 2014, 12:26
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
А что тогда, если не соединение с БД?Foenix писал(а):это не подключение.
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
http://developer.android.com/reference/ ... leDatabase()
метод возвращает в переменную сам объект(instance) бд для записи/чтения
Судя по документу - это нужно делать каждый раз перед записью/чтением из нее.
метод возвращает в переменную сам объект(instance) бд для записи/чтения
Судя по документу - это нужно делать каждый раз перед записью/чтением из нее.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 36. SQLite. Подробнее про метод query.
Добрый день, проблема с сортировкой стран.
РЕШЕНО! Забыл найти rgSort в onCreate(). Отлаживать код поутру это зло!
вот мой код:
Вот лог:
08-02 11:23:32.478: E/AndroidRuntime(800): FATAL EXCEPTION: main
08-02 11:23:32.478: E/AndroidRuntime(800): java.lang.NullPointerException
08-02 11:23:32.478: E/AndroidRuntime(800): at com.gost.p0191.CountriesActivity.onClick(CountriesActivity.java:121)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.view.View.performClick(View.java:4204)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.view.View$PerformClick.run(View.java:17355)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.os.Handler.handleCallback(Handler.java:725)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.os.Handler.dispatchMessage(Handler.java:92)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.os.Looper.loop(Looper.java:137)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.app.ActivityThread.main(ActivityThread.java:5041)
08-02 11:23:32.478: E/AndroidRuntime(800): at java.lang.reflect.Method.invokeNative(Native Method)
08-02 11:23:32.478: E/AndroidRuntime(800): at java.lang.reflect.Method.invoke(Method.java:511)
08-02 11:23:32.478: E/AndroidRuntime(800): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-02 11:23:32.478: E/AndroidRuntime(800): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-02 11:23:32.478: E/AndroidRuntime(800): at dalvik.system.NativeStart.main(Native Method)
Знаю что ругается на NullPointerException в строке с switch (rgSort.getCheckedRadioButtonId()) {, но что там не так даже представить не могу. Буду признателен за помощь.
P.S.
Как закинуть текс под спойлер?
P.P.S.
Почему при вкючении подсветки java или java 5 некоторые символы заменяет их HEX-кодами?
РЕШЕНО! Забыл найти rgSort в onCreate(). Отлаживать код поутру это зло!
вот мой код:
Код: Выделить всё
public void onClick(View v) {
// TODO Auto-generated method stub
db = dbHelper.getWritableDatabase();
String sFunc = etFunc.getText().toString();
String sPeople = etPeople.getText().toString();
String sRegionPeople = etRegionPeople.getText().toString();
String[] columns = null;
String selection = null;
String[] selectionArgs = null;
String groupBy = null;
String having = null;
String orderBy = null;
Cursor c = null;
switch (v.getId()) {
case R.id.btnAll:
Log.d(LOG_TAG, "--- All notes ---");
c = db.query("table1", null, null, null, null, null, null);
break;
case R.id.btnFunc:
Log.d(LOG_TAG, "--- Function " + sFunc + " ---");
columns = new String[] {sFunc};
c = db.query("table1", columns, null, null, null, null, null);
break;
case R.id.btnPeople:
Log.d(LOG_TAG, "--- Population more then " + sPeople + " ---");
selection = "people > ?";
selectionArgs = new String[] { sPeople };
c = db.query("table1", null, selection, selectionArgs, null, null, null);
break;
case R.id.btnGroup:
Log.d(LOG_TAG, "--- Population by region ---");
columns = new String[] { "region", "sum(people) as people" };
groupBy = "region";
c = db.query("table1", columns, null, null, groupBy, null, null);
break;
case R.id.btnHaving:
Log.d(LOG_TAG, "--- Population by region more than " +
sRegionPeople + " ---");
columns = new String[] { "region", "sum(people) as people" };
groupBy = "region";
having = "sum(people) >" + sRegionPeople;
c = db.query("table1", columns, null, null, groupBy, having, null);
break;
case R.id.btnSort:
Log.d(LOG_TAG, "--- 1 ---");
switch (rgSort.getCheckedRadioButtonId()) {
case R.id.rName:
Log.d(LOG_TAG, "--- Сортировка по наименованию ---");
orderBy = "name";
break;
// население
case R.id.rPeople:
Log.d(LOG_TAG, "--- Сортировка по населению ---");
orderBy = "people";
break;
// регион
case R.id.rRegion:
Log.d(LOG_TAG, "--- Сортировка по региону ---");
orderBy = "region";
break;
}
Log.d(LOG_TAG, "--- 2 ---");
c = db.query("table1", null, null, null, null, null, orderBy);
break;
}
if (c != null) {
if (c.moveToFirst()) {
String str;
do {
str = "";
for (String cn : c.getColumnNames()) {
str = str.concat(cn + " = "
+ c.getString(c.getColumnIndex(cn)) + "; ");
}
Log.d(LOG_TAG, str);
} while (c.moveToNext());
}
c.close();
}
else
Log.d(LOG_TAG, "Cursor is null");
dbHelper.close();
}
08-02 11:23:32.478: E/AndroidRuntime(800): FATAL EXCEPTION: main
08-02 11:23:32.478: E/AndroidRuntime(800): java.lang.NullPointerException
08-02 11:23:32.478: E/AndroidRuntime(800): at com.gost.p0191.CountriesActivity.onClick(CountriesActivity.java:121)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.view.View.performClick(View.java:4204)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.view.View$PerformClick.run(View.java:17355)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.os.Handler.handleCallback(Handler.java:725)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.os.Handler.dispatchMessage(Handler.java:92)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.os.Looper.loop(Looper.java:137)
08-02 11:23:32.478: E/AndroidRuntime(800): at android.app.ActivityThread.main(ActivityThread.java:5041)
08-02 11:23:32.478: E/AndroidRuntime(800): at java.lang.reflect.Method.invokeNative(Native Method)
08-02 11:23:32.478: E/AndroidRuntime(800): at java.lang.reflect.Method.invoke(Method.java:511)
08-02 11:23:32.478: E/AndroidRuntime(800): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
08-02 11:23:32.478: E/AndroidRuntime(800): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
08-02 11:23:32.478: E/AndroidRuntime(800): at dalvik.system.NativeStart.main(Native Method)
Знаю что ругается на NullPointerException в строке с switch (rgSort.getCheckedRadioButtonId()) {, но что там не так даже представить не могу. Буду признателен за помощь.
P.S.
Как закинуть текс под спойлер?
P.P.S.
Почему при вкючении подсветки java или java 5 некоторые символы заменяет их HEX-кодами?