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

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

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

SQLite Связаные таблицы - Программирование Android

15.04.2015, 09:32. Просмотров 318. Ответов 7
Метки нет (Все метки)

Есть таблицы Магазин и товар - Магазин как ключевая.
Одну таблицу создает сразу две не хочет.
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
class DBHelper extends SQLiteOpenHelper
    {
        public DBHelper(Context context)
        {
            super(context, "newDB", null, 1);
        }
 
        @Override
        public void onCreate(SQLiteDatabase db)
        {
            Log.d(LOG_TAG,"--- OnCreate database: ---");
            db.execSQL("CREATE TABLE magazin ("
                    +"id_magazin integer primary key autoincrement,"
                    +"name_magazin text"+");"
            );
 
            db.execSQL("CREATE TABLE tovar ("
                            +"id_magazin integer,"
                            +"id_tovar integer primary key,"
                            +"name_tovar text),"
                            +"foreign key magazin (id_magazin) REFERENCES tovar (id_magazin) ON DELETE CASCADE);"
            );
 
        }
        @Override
        public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
        {
 
        }
    }
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.04.2015, 09:32
Здравствуйте! Я подобрал для вас темы с ответами на вопрос SQLite Связаные таблицы (Программирование Android):

Запись данных в 2 таблицы SQLite - Программирование Android
Как заполнять данные в базу данных при двух таблицах? Получается лишь в одну таблицу занести данные. А как их заносить в другую?. Есть...

SQLite дополнить записи из таблицы - Программирование Android
Можно ли составить подобный запрос (вроде видел нечто подобное, но повторно найти пример не получилось) Есть таблица AAA. На ее основе...

Передача SQLite таблицы по TCP - Программирование Android
Подскажите как сделать хотя бы в теории, от примера не откажусь.

Как вытащить значение из таблицы бд sqlite - Программирование Android
Здравствуйте.Помогите пожалуйста разобраться. Суть такая.Есть две таблицы в бд.Нужно вытащить значение из одной таблицы и подставить в...

База SQLite: метод по созданию таблицы не вызывается - Программирование Android
Не пойму что не так. Раньше с ним не работал Пытался реализовать пример из сети, но что то не хочет, подозреваю что не создана сама...

SQLite - Программирование Android
Приложение вылетает с ошибкой, не подскажете, в чём проблема? public class DatabaseHelper extends SQLiteOpenHelper { private...

7
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.04.2015, 09:49 #2
Василевский, ошибка есть какая-то?
0
Василевский
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 102
15.04.2015, 09:51  [ТС] #3
YuraAAA, пишет в ListView произошла ошибка
0
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.04.2015, 09:53 #4
Василевский, какая ошибка? Экстрасенсов нет тут
0
Василевский
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 102
15.04.2015, 10:01  [ТС] #5
YuraAAA,
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.dom.listview/com.example.dom.listview.MainActivity}: android.database.sqlite.SQLiteException: near ",": syntax error (code 1): , while compiling: CREATE TABLE tovar (id_magazin integer,id_tovar integer primary key,name_tovar text),foreign key magazin (id_magazin) REFERENCES tovar (id_magazin) ON DELETE CASCADE);
0
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.04.2015, 10:54 #6
Василевский, перед созданием таблицы, если уж Вам хочется связывать, делайте
Java
1
db.execSql("PRAGMA foreign_keys = ON;");
Внимательнее со скобками и пробелами.

Java
1
2
3
4
5
CREATE TABLE tovar ( "
                            +"id_magazin integer, "
                            +"id_tovar integer primary key, "
                            +"name_tovar text, "
                            +"foreign key magazin (id_magazin) REFERENCES tovar (id_magazin) ON DELETE CASCADE);"
0
Василевский
0 / 0 / 0
Регистрация: 25.04.2013
Сообщений: 102
15.04.2015, 12:14  [ТС] #7
YuraAAA, спасибо, за помощь . Моя задача заключается в том ,что допустим ...есть N магазинов у одного из них есть N товаров ,а у одного из товара есть N "подтоваров" . Может есть другая реализация не через SQLite ?
0
YuraAAA
1576 / 1317 / 271
Регистрация: 25.10.2009
Сообщений: 3,438
Записей в блоге: 2
15.04.2015, 12:36 #8
Василевский, только через SQLite. Но можно подняться на уровень выше и использовать ORM какую-нибудь. Например, ORMLite. Это полностью Вас избавит от ручного создания таблиц и запросов.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.04.2015, 12:36
Привет! Вот еще темы с ответами:

SQLite - Программирование Android
почему id = 0 ??? public void onClick(View view) { dataBase = new DataBase(context); sqLiteDatabase =...

SQLite - Программирование Android
Возвращаясь к старой теме, вернусь к проблеме. По рекомендации попробовал сделать от сюда Тут отправляем данные для записи в бд obj...

SQLite - Программирование Android
Мне не подскажите где можно взять хорошие примеры по SQlite.

SQLite - Программирование Android
Создаю простенькую таблицу. db.execSQL("create table " + DATABASE_TABLE_NAME + " (" + ID_COLUMN + " integer primary key...


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

Или воспользуйтесь поиском по форуму:
8
Yandex
Объявления
15.04.2015, 12:36
Ответ Создать тему
Опции темы

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