2016-07-22 6 views
0

私は約2時間(Google、YouTube、ここで)検索しています。イム私はこれまでのところ、私は任意のsqliteの予約語を使用していない見つけたものログアンドロイドスタジオでsqliteテーブルを作成しようとすると構文エラーが発生する

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.cage.roll.midleprojectfinal/com.cage.roll.midleprojectfinal.MainActivity}: android.database.sqlite.SQLiteException: near ")": syntax error (code 1): , while compiling: CREATE TABLE IF NOT EXISTS tblmovies(movieId INTEGER PRIMARY KEY AUTOINCREMENT,movieName VARCHAR,movieSummery VARCHAR,imageURL VARCHAR,); 

Caused by: android.database.sqlite.SQLiteException: near ")": syntax error (code 1): , while compiling: CREATE TABLE IF NOT EXISTS tblmovies(movieId INTEGER PRIMARY KEY AUTOINCREMENT,movieName VARCHAR,movieSummery VARCHAR,imageURL VARCHAR,); 

にしてから、このエラーを取得して作成するテーブル内のスペースはOKです....この私のコード:

public class MoviesOpenHelper extends SQLiteOpenHelper { 
SQLiteDatabase database; 
//DB properties 
public static final String DATABASENAME="movies.db"; 
public static final String TABLE_MOVIES="tblmovies"; 
public static final int DATABASEVERSION=1; 

//DB members in static mode to gain access to all APP classes 
public static final String COLUMN_ID="movieId"; 
public static final String COLUMN_MOVIENAME="movieName"; 
public static final String COLUMN_MOVIESUMMERY="movieSummery"; 
public static final String COLUMN_IMAGEURL="imageURL"; 

//Creating the DB table 
private static final String CREATE_TABLE_MOVIES =" CREATE TABLE IF NOT EXISTS " + TABLE_MOVIES + " (" 
     + COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT," 
     + COLUMN_MOVIENAME + " VARCHAR," 
     + COLUMN_MOVIESUMMERY + " VARCHAR," 
     + COLUMN_IMAGEURL + " VARCHAR," + ");"; 

public MoviesOpenHelper (Context context) { 
    super(context, DATABASENAME, null, DATABASEVERSION); 

} 
//this wiil create the DB in the name "MOVIES" 
@Override 
public void onCreate(SQLiteDatabase db) { 
    db.execSQL(CREATE_TABLE_MOVIES); 
    Log.e("data", "Table movies created"); 
} 

//updates the new DB 
@Override 
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 
    db.execSQL("DROP TABLE IF EXISTS " + TABLE_MOVIES); 
    onCreate(db); 

} 

}

答えて

1

CREATE TABLE IF NOT EXISTS tblmovies(movieId INTEGER PRIMARY KEY AUTOINCREMENT,movieName VARCHAR,movieSummery VARCHAR,imageURL VARCHAR,);

これが...最後のVARCHARキーワードの後に​​あるため、末尾のカンマの

+0

おかげですが、私はそれが、STIをdeltedこのエラーが発生します:原因:android.database.sqlite.SQLiteException:near ")":構文エラー(コード1):コンパイル中にCREATE TABLEが存在しない場合tblmovies(movieId INTEGER PRIMARY KEY AUTOINCREMENT、movieName VARCHAR、movieSummery VARCHAR、imageURL VARCHAR、); – rollcage

+0

@rollcage削除しませんでした:VARCHAR、imageURL VARCHAR **、**); –

+0

ええと私は、私はテーブルを作成するために存在しない場合は、テーブルを変更する場合でも、それを参照してください。ログにも同じエラーが表示されます... androud studioを再起動するには... – rollcage

関連する問題