2016-07-22 7 views
0

Ich bin auf der Suche nach etwa 2 Stunden (google, youtube und hier) was falsch gemacht, aber kann nicht verstehen, was es ist. im immer diesen Fehler im Protokollbekommen einen Syntaxfehler beim Versuch, eine SQLite-Tabelle in android Studio zu erstellen

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,); 

und von dem, was ich bisher fand ich keine SQLite reservierten Wörter verwende und die Räume in der Tabelle erstellen sind ok .... das ist mein Code:

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); 

} 

}

Antwort

1

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

Dies ist wegen des Kommas nach dem letzten VARCHAR Stichwort ...

+0

dank, aber ich delted es aber sti ll gibt mir diesen Fehler: verursacht durch: android.database.sqlite.SQLiteException: near ")": Syntaxfehler (Code 1):, beim Kompilieren: CREATE TABLE WENN NICHT EXIST tblmovies (movieId INTEGER PRIMARY KEY AUTOINCREMENT, movieName VARCHAR, movieSummery VARCHAR, BildURL VARCHAR,); – rollcage

+0

@rollcage Sie haben es nicht gelöscht: VARCHAR, imageURL VARCHAR **, **); –

+0

hmm ok ich sehe, dass, selbst wenn ich die CREATE TABLE IF NOT EXISTS nur CREATE TABLE ändern. Es wird immer noch den gleichen Fehler im Protokoll angezeigt .... ill zum Neustart androud Studio ... – rollcage

Verwandte Themen