Я пытался найти, почему мое приложение падает при старте, и отладчик говорит, чтоОшибка при вставке значения в дБ
«E/SQLiteLog: (1) нет такой таблицы: Категории E/SQLiteDatabase: Ошибка вставляя Name = Салаты android.database.sqlite.SQLiteException: нет такой таблицы: Категории (код 1):, при компиляции: (?) INSERT INTO Категории (Name) VALUES»
Даже Тхо после того как я посмотрел в мой код, кажется, как и таблицы, и ошибка не должна появляться.
public class DatabaseHandler extends SQLiteOpenHelper {
// All Static variables
// Database Version
private static final int DATABASE_VERSION = 1;
// Database Name
private static final String DATABASE_NAME = "contactsManager";
// Contacts table name
private static final String TABLE_CONTACTS = "contacts";
// Contacts Table Columns names
private static final String KEY_ID = "id";
private static final String KEY_NAME = "name";
private static final String KEY_PH_NO = "phone_number";
public DatabaseHandler(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
// Creating Tables
@Override
public void onCreate(SQLiteDatabase db) {
String CREATE_CONTACTS_TABLE = "CREATE TABLE " + TABLE_CONTACTS + "("
+ KEY_ID + " INTEGER PRIMARY KEY," + KEY_NAME + " TEXT,"
+ KEY_PH_NO + " TEXT" + ")";
db.execSQL(CREATE_CONTACTS_TABLE);
}
// Upgrading database
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
// Drop older table if existed
db.execSQL("DROP TABLE IF EXISTS " + TABLE_CONTACTS);
// Create tables again
onCreate(db);
}
Удалите и запустите приложение снова на своем устройстве, я думаю, проблема связана с вашей версией базы данных (потому что после первого запуска вы изменили столбец таблицы, так что они не получают обновления из-за той же версии базы данных). –
@ReadyAndroid Действительно. Так неудобно ... Спасибо, человек! – JasonM