2016-04-14 6 views
-1

私はこの問題を知りません。すみません、私は初心者です。android.database.sqlite.SQLiteException: "tableMy_table"の近く:シンタックスエラー(コード1)、初心者

ここ
public class DatabaseHelper extends SQLiteOpenHelper { 
public static final String DATABASE_NAME = "Class.db"; 
public static final String TABLE_NAME = "My_table"; 
public static final String COL_1 = "ID"; 
public static final String COL_2 = "OLD_NAME"; 
public static final String COL_3 = "NEW_NAME"; 
public static final String COL_4 = "DIRECTION"; 
public static final String COL_5 = "NOTES"; 


public DatabaseHelper(Context context) { 
    super(context, DATABASE_NAME, null, 1); 

} 

@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL("create table" + TABLE_NAME + "(ID INTEGER PRIMARY KEY AUTOINCREMENT,OLD_NAME TEXT, NEW_NAME TEXT, DIRECTION TEXT, NOTES TEXT)"); 
} 

logcat

android.database.sqlite.SQLiteException: near "tableMy_table": syntax error (code 1): , while compiling: create tableMy_table(ID INTEGER PRIMARY KEY AUTOINCREMENT,OLD_NAME TEXT, NEW_NAME TEXT, DIRECTION TEXT, NOTES TEXT) 
+0

**スペースが必要です**: 'db.execSQL(" create table "+ TABLE_NAME + ...' –

答えて

0

ねえ、私はこのクラスを書かれています。要件に応じてこれを変更します。

public class DatabaseHelper extends SQLiteOpenHelper { 

    public static final String DB_NAME = "PersonsDB"; 
    public static final String TABLE_NAME = "Persons"; 
    public static final String COLUMN_NAME ="name"; 
    public static final String COLUMN_ADD = "address"; 
    public static final String COLUMN_ID = "_id"; 
    public static final String COLUMN_AVAILABLE="available"; 

    private static final int DB_VERSION = 1; 

    public DatabaseHelper(Context context) { 
     super(context,DB_NAME,null,DB_VERSION); 
    } 

    @Override 
    public void onCreate(SQLiteDatabase db) { 
     String sql = "CREATE TABLE " +TABLE_NAME 
       +"(" +COLUMN_ID+ 
       " INTEGER PRIMARY KEY AUTOINCREMENT, " +COLUMN_NAME+ 
       " VARCHAR, " +COLUMN_ADD+ 
       " VARCHAR,"+COLUMN_AVAILABLE+" BOOLEAN);"; 
     db.execSQL(sql); 

    } 
    //penOrCreateDatabase 
    @Override 
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
     String sql = "DROP TABLE IF EXISTS Persons"; 
     db.execSQL(sql); 
     onCreate(db); 
    } 
} 

注:あなたがそうしないと、エラーになります "_id" としてIDを定義する必要があります。

関連する問題