Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
 
edogaafx
0 / 0 / 0
Регистрация: 04.03.2014
Сообщений: 42
#1

Не верные данные из базы данных - Программирование Android

08.05.2015, 09:33. Просмотров 167. Ответов 0
Метки нет (Все метки)

Столкнулся с небольшое проблемкой. Ошибку не замечаю, но:
В таблице содержится колонка event_follow, которая по дефолту 0.
На фрагменте просмотра события есть CkeckBox, который меняет на "1" если галочка стаит и "0" если нет.

Метод onCheckedChanged
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                Log.i(TAG, "onCheckedChanged");
                
                dbHelper = new DatabaseHelper(getActivity());
                try {
                    dbHelper.open();
                } catch (SQLException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
                if(isChecked) {
                    checked = 1;
                } else {
                    checked = 0;
                }
                dbHelper.updateFollow(event, checked);
                dbHelper.close();
                }
            });
Метод updateFollow, который обновляет колонку
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
public int updateFollow(Event event, int checked) {
        Log.i(TAG, "updateFollow");
        System.out.println("updateFollow event: " + event);
        System.out.println("updateFollow checked: " + checked);
        
        ContentValues cv = new ContentValues();
        cv.put(COLUMN_EVENT_FOLLOW, checked);
        
        return db.update(EVENT_TABLE_NAME, 
                cv, 
                COLUMN_EVENT_ID + " = ?", 
                new String[] {String.valueOf(event.getId())});
    }
Здесь проверяю на наличие цифорки
Java
1
2
3
4
5
6
7
8
9
10
11
12
for (int i = 0; i < list.size(); i++) {
                // Здесь просто смотрю, правильные ли данные подаю
            System.out.println("List item getFollow(): " + list.get(i).getFollow());
            System.out.println("List item follow: " + list.get(i).follow);
            System.out.println("List item name: " + list.get(i).getName());
            System.out.println("List item date: " + list.get(i).getStartDate());
            //Дата и имя верные получаю, а follow всегда 0
            
            if (list.get(i).getFollow() == 1) {
                //
            }
        }
После чекБокса проверял, поменялось ли значение в калонке. Поменялось, но вывод всегда - 0.

Добавлено через 20 минут
Метод который вытягивает все события из базы.
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public ArrayList<Event> getEvents() {
        ArrayList<Event> list = new ArrayList<Event>();
        String query = "SELECT * FROM " + EVENT_TABLE_NAME;
        Log.i(TAG, "getEvents");
        Log.e(TAG, query);
        
        Cursor cursor = db.rawQuery(query, null);
        if (cursor.moveToFirst()) {
            do {
                Event event = new Event();
                event.setId(cursor.getInt(cursor.getColumnIndex(COLUMN_EVENT_ID)));
                event.setName(cursor.getString(cursor.getColumnIndex(COLUMN_EVENT_NAME)));
                //event.setImage(cursor.getString(cursor.getColumnIndex(COLUMN_EVENT_IMAGE)));
                event.setStartDate(cursor.getString(cursor.getColumnIndex(COLUMN_EVENT_START_DATE)));
                event.setEndDate(cursor.getString(cursor.getColumnIndex(COLUMN_EVENT_END_DATE)));
                event.setPrice(cursor.getString(cursor.getColumnIndex(COLUMN_EVENT_PRICE)));
                event.setDetails(cursor.getString(cursor.getColumnIndex(COLUMN_EVENT_DETAILS)));
                event.setCategory(cursor.getString(cursor.getColumnIndex(COLUMN_EVENT_CATEGORY)));
                list.add(event);
            } while (cursor.moveToNext());
        }
        return list;
    }
Добавлено через 13 часов 23 минуты
Нашёл ошибку и испрваил!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
08.05.2015, 09:33     Не верные данные из базы данных
Посмотрите здесь:

Передать данные из базы в ListView - Программирование Android
public class OneAct extends Activity { Integer text; String names = { &quot;То что было выгруженно с базы&quot; }; protected void...

На каждой странице ViewPager'а должен отображаться свой ListFragment данные для которого берутся из базы - Программирование Android
Помогите запустить, пишу приложение в котором на каждой странице ViewPager'а должен отображаться свой ListFragment данные для которого...

Обновление Базы данных - Программирование Android
Есть база данных которую просматриваю в Активити1, сделал все работает. При нажатии на кнопку перехожу в Ативити2 где вижу последнюю...

Инициализация базы данных - Программирование Android
Есть главная активити + 3 фрагмента. Из фрагментов вызываются AsyncTask и результаты пишутся в DB. Постоянно вижу в логах ошибки на...

Чтение данных из базы - Программирование Android
Доброго времени суток ув. форумчане! Возникла проблема при попытке прочитать данные из БД, которая сохранена в external storage. Помогите...

Создание базы данных в андроид - Программирование Android
Помогите пожалуйста! Я только-только начинаю изучать программирование на андроид. Хочу взяться за создание базы данных, но не знаю с чего...

Удалить таблицу из Базы Данных - Программирование Android
Заранее извиняюсь за свою бестолковость. Вопрос такой. Есть база данных состоящая из нескольких таблиц. Можно ли как то по простому...

Обновление базы данных sqlite - Программирование Android
Уже который день бьюсь никак не выходит Подскажите, что я делаю неверно у меня есть созданная база данных MyDb, в ней таблица status ...

Передача данных из базы JSON - Программирование Android
Все привет. Есть локальная база, мне нужно из нее JSONом передать данные на сервер. Скажем так, можно даже не из базы, просто данные. Я не...

Выборка данных из Базы с условием - Программирование Android
Есть в бд столбцы title , date, category. Необходимо достать все записи из колонки &quot;title&quot; при условии что &quot;date&quot; равно &quot;2013-06-14&quot;, а...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

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