0
SQLite는 (1) 근처 ")": 구문 오류의 SQLiteDatabase 오류 "SQLite는 (1) 근처") "구문 오류"
나는 내가 생각했던 (그리고 아직도 이해하지 않는다) 그 I 필요한 모든 공간 (및 기타)을 넣으십시오
누군가가 나를 도울 수 있습니까? 시간
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" + ") ";
와