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

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

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

Повторный запрос в SQLite - Программирование Android

10.05.2015, 14:01. Просмотров 178. Ответов 0
Метки нет (Все метки)

Добрый день!

Происходит какая-то странная штука при работе с базой данных.

Делаю простенькую игрушку, в которой стоимость уровня и доступ(0/1) к нему находятся в базе данных.

При попытке запустить уровень к которому еще нет доступа предлагается купить его за игровую валюту:
Java
1
2
3
4
5
if (myDbHelper.getaccess(13)){
                    intent = new Intent(this, Game.class);
                intent.putExtra("vek", 13);
                startActivity(intent);}
                else {dialog();}
Если этот уровень купить, пройти, а потом попробовать открыть его заново, выдается то же самое сообщение об отсутствии доступа.

Причем, при попытке купить его заново он "покупается" за 0 монеток.

При дебаге значения доступа и стоимости выводятся равными нулю.

Код получения доступа и стоимости:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public int getprice(int vek){
        SQLiteDatabase sdb = this.getWritableDatabase();
 
        String query = "SELECT price FROM Result WHERE _id='" + vek + "'";
        Cursor c = sdb.rawQuery(query, null);
        c.moveToFirst();
        int price = c.getInt(0);
 
        c.close();
        sdb.close();
        return price;
    }
 
public boolean getaccess(int vek){
        SQLiteDatabase sdb = this.getReadableDatabase();
 
        String query = "SELECT dostup FROM Result WHERE _id='" + vek + "'";
        Cursor c = sdb.rawQuery(query, null);
        c.moveToFirst();
        int access = c.getInt(0);
        boolean ret = (access != 0);
 
        c.close();
        sdb.close();
        return ret;
    }
Метод предоставления доступа при покупке: (вызывается при обработке кнопки диалога)
Java
1
2
3
4
5
6
7
8
9
10
public void setaccess(int vek){
        SQLiteDatabase sdb = this.getWritableDatabase();
 
        ContentValues cv = new ContentValues();
        cv.put("_id", vek);
        cv.put("dostup", 1);
        String table = "Result";
        sdb.replace(table, null, cv);
        sdb.close();
        }
Сначала у меня не было нигде sdb.close(), думал из-за этого, но проблема не решилась.

Что делать?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.05.2015, 14:01
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Повторный запрос в SQLite (Программирование Android):

Как именно можно сделать SQLite запрос, если запрос уже сформирован? - Программирование Android
Здравствуйте. Помогите понять , как именно можно сделать SQLite запрос , если запрос уже сформирован Перечитал кучу информации но не могу...

Bluetooth. Повторный запрос Pin-кода на спаривание (при коннекте) - Программирование Android
Добрый день! Я совсем новичок. Приложение писал на Unity, а саму библиотеку с доступом к API Android писал в Eclipce. Создал небольшое...

SQLite запрос - Программирование Android
Добрый день! Не могу разобраться как писать запросы SQL. Предположим, у меня есть таблица Events в базе SQLite (см. вложенную...

SQLite запрос - Программирование Android
ищу минимальное значение в столбце и хочу вывести его в переменную . int nameColMill = cursor.getColumnIndex("val_two"); ...

SQLite запрос - Программирование Android
Здраствуйте, у мене есть таблица events... там есть поле action_date, в етом поле дата и время в секундах, я не знаю как мне написать...

SQLite и древовидный запрос - Программирование Android
Привет! Создаю в SQLite browser древовидный запрос, вот его часть. select * from rubric where id in ( WITH tree (id) AS ( ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.05.2015, 14:01
Привет! Вот еще темы с ответами:

Некорректно выполняется запрос к SQLite - Программирование Android
Здравствуйте! Необходимо сделать выборку данных из БД по двум условиям + еще максимум по третьему столбцу: public List<Table.Lesson>...

SQLite запрос для списка с подчиненными - Программирование Android
Помогите пожалуста составить запрос (подзабыл азы SQLite - давно не работал). Скажите хотя-бы ВОЗМОЖНО ЛИ ПОДОБНОЕ? (что-бы время зря не...

Sqlite запрос со сравнением строки с последними 5ю символами - Программирование Android
Гуру SQLite, помогите! Есть таблица в которой одно из строковых полей выглядит так: 123454-80000 984230-80000 849037-80000 ...

Простейший запрос к SQLite (или схожу сума) - Программирование Android
Всех доблестных кодеров с праздником! Элегантных программных решений и выдающихся результатов всем!!! Путь код поддается и не...


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

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

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