Страница 7 из 11
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 05 фев 2014, 00:07
_ILYA_
извините затупил
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 05 фев 2014, 00:46
Foenix
не нужны там кавычки
почему падает СМОТРИ В ЛОГЕ!
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 05 фев 2014, 00:56
altwin
Foenix писал(а):не нужны там кавычки
почему падает СМОТРИ В ЛОГЕ!
типо я совсем баран?
COLUMN_YEAR - строковая константа, такого поля в базе нет( valueOf(COLUMN_YEAR)= 2014 ). Там очень нужны кавычки
Иногда нужно отдыхать..
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 05 фев 2014, 06:37
Foenix
ну да, я ж не отредактированный вопрос видела, где этой глупой фразы, что ГОД - это СТРОКА я не видела и предположить не могла. Спрашивается - зачем????
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 05 фев 2014, 10:25
altwin
Foenix писал(а):ну да, я ж не отредактированный вопрос видела, где этой глупой фразы, что ГОД - это СТРОКА я не видела и предположить не могла. Спрашивается - зачем????
это уже другой вопрос
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 06 фев 2014, 21:59
_ILYA_
позвольте еще два вопроса.
1.как получить разные значения MONTH?
я так сделал:
Код: Выделить всё
public Cursor getMonths(String year)
{
String _sql = "select distinct " + COLUMN_MONTH + " from " + DB_TABLE +
" order by " + COLUMN_MONTH + " desc";
return m_db.rawQuery(_sql, null);
}
все работает. Но может так криво? (я сейчас не про формат даты)
2. в таблице есть столбец REAL V. Как получить сумму V за каждый месяц? Метод rawQuery() возвращает Cursor, и как туда запихнуть сумму?
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 06:57
Foenix
1. нормально
2. в sqlite нет такого типа real. Я ссылку давала, или ищи в гугле
3. как из курсора получить число - смотри в уроках. Как просуммировать - запросом, конечно же. ЛЮбые методы, выполняющие запросы в результате получают курсор.
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 19:58
_ILYA_
в sqlite нет такого типа real
а тут
http://developer.alexanderklimov.ru/and ... sqlite.php вот что написано :
SQLite поддерживает типы TEXT (аналог String в Java), INTEGER (аналог long в Java) и REAL (аналог double в Java). Остальные типы следует конвертировать, прежде чем сохранять в базе данных. SQLite сама по себе не проверяет типы данных, поэтому вы можете записать целое число в колонку, предназначенную для строк и наоборот.
Тип Описание
NULL пустое значение
INTEGER целочисленное значение
REAL значение с плавающей точкой
TEXT строки или символы в кодировке UTF-8, UTF-16BE или UTF-16LE
BLOB бинарные данные
я и сам на практике проверил, ни каких ошибок.
как из курсора получить число - смотри в урока
как получить число я знаю, но ведь в моей таблице изначально не столбца
сумма. Тут я ни как не соображу.
Может надо создавать временную таблицу со столбцами:
год, месяц сумма?
ни как не соображу гугл то же особо не помог.
мне нужен список, содержащий пункты; меся, год и сумма за этот месяц
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 21:15
Foenix
Про real да, затупила спросонья, прости
но если у тебя там деньги, то оно мало подходит для хранения денежных сумм
столбец сумма получается запросом
select sum(DDD) as summa from ...
если суммировать нужно по какому-то параметру, например, двум полям одновременно, то в конце запроса добавляешь group by POLE1,POLE2
если это имеется ввиду.
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 22:07
_ILYA_
Про real да, затупила спросонья, прости
но если у тебя там деньги, то оно мало подходит для хранения денежных сумм
Да ни чего, бывает.
а что подходит?
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 22:26
Foenix
я в целых храню
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 23:23
_ILYA_
ни как не получается.
таблица со столбцами
COLUMN_YEAR COLUMN_MONTH COLUMN_DAY. Так же есть список ListView. В каждом пункте списка отображается: месяц, год(дни не надо) и сумма за этот месяц. Должно выводится в порядке убывания дат.
Со всем кроме суммы разобрался все работает. Добавил сумму, приложение падает
Код: Выделить всё
public Cursor getMonths(String year)
{
String _sql = "select sum(" + COLUMN_MONEY + ") as " + TOTAL_SUM + ", distinct " + COLUMN_MONTH +
" from " + DB_TABLE +
" where " + COLUMN_YEAR + "=" + year +
" order by " + COLUMN_MONTH + " desc";
return m_db.rawQuery(_sql, null);
}
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 23:26
Foenix
потому, что они у тебя строковые. Я же сказала - убери эту глупость и сделай правильно.
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 23:28
Foenix
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 23:29
Foenix
и запрос у тебя - у меня даже слов нет. Я же сказала как делать!!
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 23:31
_ILYA_
Foenix писал(а):и запрос у тебя - у меня даже слов нет. Я же сказала как делать!!
ни как не соображу как это все собрать. То есть у меня в синтаксисе SQL ошибки?
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 07 фев 2014, 23:40
Foenix
я все написала.
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 08 фев 2014, 00:03
_ILYA_
а можно пример в коде?
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 08 фев 2014, 21:18
_ILYA_
вроде разобрался, может и криво сделал, но работает
Код: Выделить всё
public Cursor getMonths(String year)
{
String _sql = "select " + COLUMN_ID + ", " + COLUMN_YEAR + ", " + COLUMN_MONTH +
", sum(" + COLUMN_MONEY + ") as "+ TOTAL_SUM +
" from " + DB_TABLE +
" where " + COLUMN_YEAR + "=" + year +
" group by " + COLUMN_MONTH +", " + COLUMN_YEAR;
return m_db.rawQuery(_sql, null);
}
Re: Урок 36. SQLite. Подробнее про метод query. Условие, сор
Добавлено: 23 фев 2014, 21:10
_ILYA_
какое исключение выбрасывается при не правильном синтаксисе SQL запроса