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

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

Войти
Регистрация
Восстановить пароль
 
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
#1

Возврат значения из ячейки - Android

31.05.2014, 20:06. Просмотров 460. Ответов 5
Метки нет (Все метки)

Всем привет.
Совсем сломал мозг, когда рылся в гугле относительно SQLite в Android.
Суть у меня в следующем, есть база данных, там столбцы: _id, location, name. Мне нужно чтобы курсор возвращал значение name по известному значению location для последующей вставки его в сообщение.

Подскажите каким образом нужно "построить" запрос и как примерно должен выглядеть курсор. На startandroid и http://developer.alexanderklimov.ru ничего не нашел (или не врубился попросту).

Программа у меня использует библиотеку sqliteassethelper-2.0.1
Класс DataBase выглядит так:

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
27
28
29
30
31
32
33
34
35
36
public class DataBase extends SQLiteAssetHelper {
 
    private static final String DATABASE_NAME = "trace.db";
    private static final int DATABASE_VERSION = 1;
 
    public static final String COLUMN_ID = "_id";
    public static final String COLUMN_LOC = "location";
    public static final String COLUMN_ST = "name";
 
public DataBase(Context context) {
    super(context, DATABASE_NAME, null, DATABASE_VERSION);
 
 
}
 
 
 
public Cursor getArt() {
 
    SQLiteDatabase db = getWritableDatabase();
    SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
    String sqlTables = "station";
    String [] sqlSelect = {"0 _id", "location", "name"}; 
    
 
    qb.setTables(sqlTables);
    Cursor c = qb.query(db, sqlSelect, null, null,
            null, null, null);
 
    c.moveToFirst();
    return c;
 
}
 
 
}
Заранее спасибо за помощь.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2014, 20:06     Возврат значения из ячейки
Посмотрите здесь:

Android GridView - как не обновлять ячейки, которые не видны в данный момент
Android Возврат на активность и проигрывание видео
Скрытие/возврат activity по определенному событию Android
Android JExcelAPI, можно ли объединить ячейки?
Замена цвета background с задержкой для ячейки ListView Android
ListView ячейки, получить Id элемента из SQLite Android
Android Возврат на предыдущую Activity
Android Возврат неверного значения
Возврат данных с сервера. Не срабатывает условие Android
Android Возврат данных из потока

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
NiRamz
211 / 211 / 16
Регистрация: 26.12.2010
Сообщений: 691
01.06.2014, 10:21     Возврат значения из ячейки #2
Java
1
2
.query("mytable", null, "location=?", new String["ваше значение"], null, null,
          null);
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
01.06.2014, 13:46  [ТС]     Возврат значения из ячейки #3
Цитата Сообщение от NiRamz Посмотреть сообщение
Код Java(TM) 2 Platform Standard Edition 5.0
1
2
.query("mytable", null, "location=?", new String["ваше значение"], null, null,
* * * * * null);
new String["ваше значение"] - Это значение чего?
У меня при построении такого курсора Эклипс ругается на надпись в кавычках и предлагает мне query заменить на buildQuery, при замене говорит что надо наоорот query

Что не так?
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.06.2014, 13:49     Возврат значения из ячейки #4
new String[]{"Ваше значение"};

Если location это цифра, то можно сделать так, "location=" + yourLocation, null, null, ***** null)
NOSC
43 / 43 / 3
Регистрация: 10.10.2013
Сообщений: 297
01.06.2014, 14:14  [ТС]     Возврат значения из ячейки #5
Цитата Сообщение от YuraAAA Посмотреть сообщение
new String[]{"Ваше значение"};
Если location это цифра, то можно сделать так, "location=" + yourLocation, null, null, ***** null)
location - это цифра, но в базе храню как текст, так как это цифру получаю в виде String в программе

Я просто не работал с БД и не понимаю логигу. Мне нужно составить query так, чтобы мне возвращался в виде String значение из ячейки в колонке name, которой соответствует ячейка в колонке location

Если знаете как сделать - прошу помочь или ссылку на нормальный ресурс, где это для чайников разжевано.

Спасибо
YuraAAA
1564 / 1306 / 269
Регистрация: 25.10.2009
Сообщений: 3,424
Записей в блоге: 2
01.06.2014, 14:52     Возврат значения из ячейки #6
NOSC,
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   private void doSomething(String location) {
        //1. Составляем запрос
        Cursor cursor = getWritableDatabase().rawQuery("SELECT * FROM mytable WHERE location=?", new String[]{location});
        //2. Курсор должен быть не null и что-то в себе нести
        if (cursor != null && cursor.moveToFirst()) {
            String name = cursor.getString(cursor.getColumnIndex("name"));
            Log.d("Database", name);
            
        }
        //3. Курсор обязательно закрываем
        closeCursor(cursor);
    }
    
    private void closeCursor(Cursor c) {
        if (c != null && !c.isClosed()) {
            c.close();
        }
    }
Yandex
Объявления
01.06.2014, 14:52     Возврат значения из ячейки
Ответ Создать тему
Опции темы

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