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