質問

SQLite:(1)付近の ")":構文エラー

私は理解していない、私はあらゆるスペース(そしてect)を置くことを思いました(そしてまだやる)

多分誰かが私を助けることができる?

あなたの時間をありがとう

public class DatabaseHandler extends SQLiteOpenHelper {

    private static final int DATABASE_VERSION = 3;
    private static final String DATABASE_NAME = "rekordai";
    private static final String TABLE_REKORDAI = "rekordai";

    private static final String KEY_ID = "id";
    private static final String KEY_REKORDAI = "rekordai";

    public DatabaseHandler(Context context){
        super(context, DATABASE_NAME, null, DATABASE_VERSION);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_REKORDAI_TABLE = "CREATE TABLE " + TABLE_REKORDAI + " ( " 
                + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_REKORDAI + " TEXT," + " ) ";
        db.execSQL( CREATE_REKORDAI_TABLE );
    }
.


私は上記の間違いをした(oncreateメソッド)...

残り...


    @Override
    public void onUpgrade(SQLiteDatabase db, int oldV, int newV) {
        db.execSQL( "DROP TABLE IF EXISTS " + TABLE_REKORDAI );

        onCreate(db);

    }
    void addRekordas(Rekordas r){
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues v = new ContentValues();
        v.put(KEY_REKORDAI, r.getRekordas());

        db.insert(TABLE_REKORDAI, null, v);
        db.close();
    }
    Rekordas getRekordas(int id){
        SQLiteDatabase db = this.getReadableDatabase();

        Cursor c = db.query(TABLE_REKORDAI, new String[]{ KEY_ID, KEY_REKORDAI},
                KEY_ID + " = ?", new String[]{ String.valueOf(id)}, null, null, null, null);
        if(c != null){
            c.moveToFirst();
        }   
        Rekordas r = new Rekordas(Integer.parseInt(c.getString(0), Integer.parseInt(c.getString(1))));

        return r;       
    }

    public ArrayList<Rekordas> getAllRekordas(){                         // Patikrinti veliau
        String selectQuery = "SELECT  * FROM " + TABLE_REKORDAI;
        ArrayList<Rekordas> rekordaiList = new ArrayList<Rekordas>();

        SQLiteDatabase db = this.getWritableDatabase(); 
        Cursor cursor = db.rawQuery(selectQuery, null); 

        if (cursor.moveToFirst()){
            do{
                Rekordas r = new Rekordas();
                r.setId(Integer.parseInt(cursor.getString(0)));
                r.setRekordas(Integer.parseInt(cursor.getString(1)));
                rekordaiList.add(r);
            } while(cursor.moveToNext());


        }
        return rekordaiList;
    }

    public int upgradeRakordas(Rekordas r){
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues v = new ContentValues();
        v.put(KEY_REKORDAI, r.getRekordas());

        return db.update(TABLE_REKORDAI, v, KEY_ID + " = ?", new String[]{String.valueOf(r.getId())});
    }
    public void deleteRekordas(Rekordas r){
        SQLiteDatabase db = this.getWritableDatabase();
        db.delete(TABLE_REKORDAI, KEY_ID + " = ?", new String[]{String.valueOf(r.getId())});
        db.close();
    }
    public int getRekordaiCount(){
        SQLiteDatabase db = this.getReadableDatabase();
        String countQuery = "SELECT  * FROM " + TABLE_REKORDAI;
        Cursor c = db.rawQuery(countQuery, null);
        c.close();

        return c.getCount();
    }
}
.

もう一度ありがとう! そして、私は本当に大分なコード

を申し訳ありません。

役に立ちましたか?

解決

あなたの問題はここにあるCREATE TABLE SQL COMMAND

  + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_REKORDAI + " TEXT," + " ) ";// remove semi column after TEXT 
.

下記の

の正しいCREATE TABLE SQL COMMAND
 String CREATE_REKORDAI_TABLE = "CREATE TABLE " + TABLE_REKORDAI + " ( " 
            + KEY_ID + " INTEGER PRIMARY KEY, " + KEY_REKORDAI + " TEXT" + " ) ";
.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top