Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Операционные системы > Мобильные ОС (Android, iOS, Windows Phone)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.12.2013, 13:02   #1
Morpho
Пользователь
 
Регистрация: 22.07.2012
Сообщений: 29
По умолчанию [Android] БД SQLite с несколькими таблицами

Всем привет.
Столкнулся с проблемой: не создаётся 2-я таблица в БД пересматривал запрос много раз, он идентичен запросу на создание 1 таблицы... Может, кто подсмкажет в чём дело?

Код:
package com.example.warden;

import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

public class DatabaseHandler extends SQLiteOpenHelper {
	private static final int DATABASE_VERSION = 1;
	private static final String DATABASE_NAME = "wardenDatabase";
	private static final String TABLE_STUDENTS = "students";
	private static final String TABLE_SUBJECTS = "subjects";
	private static final String KEY_ID = "id";
	private static final String KEY_NAME = "name";
	private static final String KEY_SUBJ = "title";
	private static final String CREATE_STUDENTS_TABLE = "CREATE TABLE " + TABLE_STUDENTS + "("
			+ KEY_ID + " INTEGER PRIMARY KEY," 
			+ KEY_NAME + " TEXT" + ")";
	private static final String CREATE_SUBJECTS_TABLE = "CREATE TABLE " + TABLE_SUBJECTS + "("
            + KEY_ID + " INTEGER PRIMARY KEY," 
			+ KEY_SUBJ + " TEXT" + ")";
	
	
	public DatabaseHandler(Context context) {
		super(context, DATABASE_NAME, null, DATABASE_VERSION);
	}
	
	@Override
	public void onCreate(SQLiteDatabase db) {
		db.execSQL(CREATE_STUDENTS_TABLE);
		db.execSQL(CREATE_SUBJECTS_TABLE);	
	}
	
	@Override
	public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
		db.execSQL("DROP TABLE IF EXISTS " + TABLE_STUDENTS);
		db.execSQL("DROP TABLE IF EXISTS " + TABLE_SUBJECTS);
		onCreate(db);
	}
	// --------- STUDENTS SECTION
	/* Здесь всё работает, по этому вырезано */
	// --------- SUBJECTS SECTION
	public void addSubject(Subject subject) {
		SQLiteDatabase db = this.getWritableDatabase();
		ContentValues values = new ContentValues();
		values.put(KEY_ID, subject.getSubj());
		
		db.insert(TABLE_SUBJECTS, null, values);
		db.close();
	}
	
	public Subject getSubject(int id) {
		SQLiteDatabase db = this.getReadableDatabase();
		Cursor cursor = db.query(TABLE_SUBJECTS, new String[] {KEY_ID, KEY_SUBJ}, KEY_ID + "=?", new String[] {String.valueOf(id)}, null, null, null, null);
		if (cursor != null) {
			cursor.moveToFirst();
		}
		Subject subject = new Subject(Integer.parseInt(cursor.getString(0)), cursor.getString(1));
		
		return subject;
	}
	
	public void deleteSubject(Subject subject) {
		SQLiteDatabase db = this.getWritableDatabase();
		db.delete(TABLE_SUBJECTS, KEY_ID + " = ?", new String[] { String.valueOf(subject.getID()) });
		db.close();
	}

	public int getSubjectsCount() {
		String countQuery = "SELECT  * FROM " + TABLE_SUBJECTS;
		SQLiteDatabase db = this.getReadableDatabase();
		Cursor cursor = db.rawQuery(countQuery, null); 
		
		return cursor.getCount();
	}
}

Последний раз редактировалось Morpho; 08.12.2013 в 23:34.
Morpho вне форума Ответить с цитированием
Старый 08.12.2013, 13:36   #2
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

а обязательно кодом создавать?
eval вне форума Ответить с цитированием
Старый 08.12.2013, 13:38   #3
Morpho
Пользователь
 
Регистрация: 22.07.2012
Сообщений: 29
По умолчанию

Да, нужно через код
Morpho вне форума Ответить с цитированием
Старый 08.12.2013, 13:57   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

не увидел, что это урок...

а что значит не создаётся ?
eval вне форума Ответить с цитированием
Старый 08.12.2013, 23:36   #5
Morpho
Пользователь
 
Регистрация: 22.07.2012
Сообщений: 29
По умолчанию

Всё создавалось, оказывается
Нашёл свой косяк )
спасибо за внимание!

Последний раз редактировалось Morpho; 08.12.2013 в 23:43.
Morpho вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ускорить импорт данных из xml в sqlite.(android) Zohei Общие вопросы по Java, Java SE, Kotlin 2 11.11.2012 12:02
Запрос через форму с несколькими таблицами БД . andrushkiv72 Microsoft Office Access 1 05.08.2012 23:37
работа с несколькими dbf таблицами в delphi dinaria БД в Delphi 1 14.06.2011 18:51
Работа с несколькими таблицами MySql Furyon SQL, базы данных 1 02.02.2011 09:30
Форма с несколькими таблицами в табличном виде. Как сделать? Jenya Microsoft Office Access 1 15.11.2008 20:37