lundi 8 juin 2015

(1) near ")": syntax error SQLiteDatabase

i am having this error and i cant with it.

Here is the log:

06-08 21:20:53.500: E/SQLiteLog(1065): (1) near ")": syntax error
06-08 21:20:53.550: D/AndroidRuntime(1065): Shutting down VM
06-08 21:20:53.550: W/dalvikvm(1065): threadid=1: thread exiting with uncaught exception (group=0xb1ad2ba8)
06-08 21:20:53.700: E/AndroidRuntime(1065): FATAL EXCEPTION: main
06-08 21:20:53.700: E/AndroidRuntime(1065): Process: notasDeClase.example.notasdeclase, PID: 1065
06-08 21:20:53.700: E/AndroidRuntime(1065): java.lang.IllegalStateException: Could not execute method of the activity
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.view.View$1.onClick(View.java:3823)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.view.View.performClick(View.java:4438)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.view.View$PerformClick.run(View.java:18422)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.os.Handler.handleCallback(Handler.java:733)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.os.Handler.dispatchMessage(Handler.java:95)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.os.Looper.loop(Looper.java:136)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.app.ActivityThread.main(ActivityThread.java:5017)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at java.lang.reflect.Method.invokeNative(Native Method)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at java.lang.reflect.Method.invoke(Method.java:515)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at dalvik.system.NativeStart.main(Native Method)
06-08 21:20:53.700: E/AndroidRuntime(1065): Caused by: java.lang.reflect.InvocationTargetException
06-08 21:20:53.700: E/AndroidRuntime(1065):     at java.lang.reflect.Method.invokeNative(Native Method)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at java.lang.reflect.Method.invoke(Method.java:515)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.view.View$1.onClick(View.java:3818)
06-08 21:20:53.700: E/AndroidRuntime(1065):     ... 11 more
06-08 21:20:53.700: E/AndroidRuntime(1065): Caused by: android.database.sqlite.SQLiteException: near ")": syntax error (code 1): , while compiling: CREATE TABLE notas(_id INTEGER PRIMARY KEY AUTOINCREMENT, curso TEXT, );
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteConnection.nativePrepareStatement(Native Method)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteConnection.acquirePreparedStatement(SQLiteConnection.java:889)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteConnection.prepare(SQLiteConnection.java:500)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteSession.prepare(SQLiteSession.java:588)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteProgram.<init>(SQLiteProgram.java:58)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteStatement.<init>(SQLiteStatement.java:31)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteDatabase.executeSql(SQLiteDatabase.java:1672)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteDatabase.execSQL(SQLiteDatabase.java:1603)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at notasDeClase.example.notasdeclase.MiDB.onCreate(MiDB.java:32)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteOpenHelper.getDatabaseLocked(SQLiteOpenHelper.java:252)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at android.database.sqlite.SQLiteOpenHelper.getWritableDatabase(SQLiteOpenHelper.java:164)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at notasDeClase.example.notasdeclase.MiDB.addNota(MiDB.java:48)
06-08 21:20:53.700: E/AndroidRuntime(1065):     at notasDeClase.example.notasdeclase.Agregar.agregar_clicked(Agregar.java:34)
06-08 21:20:53.700: E/AndroidRuntime(1065):     ... 14 more

And here is the code:

public class MiDB extends SQLiteOpenHelper{

private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "notas.db";
public static final String TABLA_NOTAS = "notas";
public static final String COLUMN_ID = "_id";
public static final String COLUMN_CURSO = "curso";


public MiDB(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) {
    super(context, DATABASE_NAME, factory, DATABASE_VERSION);
}

@Override
public void onCreate(SQLiteDatabase db) {
    String query = "CREATE TABLE " + TABLA_NOTAS + "(" +
            COLUMN_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " +
            COLUMN_CURSO + " TEXT, " +
            ");";

    db.execSQL(query);

}

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

//Añade un nuevo Row a la Base de Datos

public void addNota(Notas notas) {

    ContentValues values = new ContentValues();
    values.put(COLUMN_CURSO, notas.get_Curso());
    SQLiteDatabase db = getWritableDatabase();
    db.insert(TABLA_NOTAS, null, values);
    db.close();

}

public void updateNota(Notas notas){
    ContentValues values = new ContentValues();
    values.put(COLUMN_CURSO, notas.get_Curso());
    SQLiteDatabase db = getWritableDatabase();
    db.update(TABLA_NOTAS, values, COLUMN_ID + "= ?", new String[] { String.valueOf(notas.get_id())});
    db.close();

}

// Borrar una nota de la Base de Datos

public void borrarNota(int persona_id){
    SQLiteDatabase db = getWritableDatabase();
    db.execSQL("DELETE FROM " + TABLA_NOTAS + " WHERE " + COLUMN_ID + " = " + persona_id + ";");
    db.close();
}

//listar por id

public Cursor notabyid(int id){
    SQLiteDatabase db = getWritableDatabase();
    String query = "SELECT * FROM " + TABLA_NOTAS + " WHERE " + COLUMN_ID + " = " + id + ";";
    Cursor c = db.rawQuery(query, null);

    if (c != null) {
        c.moveToFirst();
    }

    return c;
}

//listar a todas las notas
public Cursor listarNotas(){
    SQLiteDatabase db = getReadableDatabase();
    String query = ("SELECT * FROM " + TABLA_NOTAS + " WHERE 1 ORDER BY " + COLUMN_CURSO + ";");
    Cursor c = db.rawQuery(query, null);

    if (c != null) {
        c.moveToFirst();
    }
        return c;
    }
}

Aucun commentaire:

Enregistrer un commentaire