2015-04-06 4 views
0

Я выполнил следующий учебник (https://www.youtube.com/watch?v=p8TaTgr4uKM), чтобы создать приложение базы данных SQL, к сожалению, у меня возникла проблема, когда приложение не открывается, может ли кто-нибудь помочь и посмотреть, что-то не так.Приложение Android SQL к сожалению приложение остановлено

Это код SQL package com.example.sqltest2;

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

public class DatabaseHelper extends SQLiteOpenHelper { 
public static final String DATABASE_NAME = "products.db"; 
public static final String TABLE_NAME = "productstable.db"; 
public static final String COL_1 = "ID"; 
public static final String COL_2 = "NAME"; 
public static final String COL_3 = "Aisle"; 
public static final String COL_4 = "LOC"; 

public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME,null, 1); 
    SQLiteDatabase db = this.getWritableDatabase(); 
} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table" + TABLE_NAME +" (ID INTEGER PRIMAY KEY AUTOINCREMENT, NAME TEXT, Aisle INTEGER, LOC INTEGER)"); 
} 

@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS "+TABLE_NAME); 
    onCreate(db); 
} 

}

The LogCat указывает на ошибку синтаксиса на
общественной пустоты OnCreate (SQLiteDatabase дБ) { db.execSQL ("создать таблицу" + TABLE_NAME +»(ID INTEGER PRIMAY КЛЮЧ AUTOINCREMENT, ИМЯ ТЕКСТ, ПРОХОД, ИНТЕГЕР, LOC INTEGER) "); }

+2

'PRIMAY KEY'? prima ** R ** y, возможно? –

ответ

0

Редактировать: Основная проблема, вероятно, в том, что @Marc B указал, PRIMAY должен быть PRIMARY.

Я также заметил это:

Ваш TABLE_NAME имеет .db в нем.

Изменить это:

public static final String TABLE_NAME = "productstable.db"; 

Для этого:

public static final String TABLE_NAME = "productstable"; 
0

В дополнение к Марк-х и ответы Даниила; вашему заявлению CREATE необходимо пространство.
"create table" + TABLE_NAME +" будет производить что-то вроде create tableproductstable. Поместите пробел после table, чтобы иметь "create table " + TABLE_NAME + ...

Смежные вопросы