在自定義PersonSQLiteOpenHelper中,首先定義版本號為1,調用onCreate方法。隨后修改為2,調用onUpgrade方法。public class PersonSQLiteOpenHelper extends SQLiteOpenHelper { public final static String LOGTAG = "PersonSQLiteOpenHelper"; public final static String DB_NAME = "person.db"; public final static String TABLE_NAME = "contract"; public final static int VERSION = 1; public final static String COL_NAME = "name"; public final static String COL_ADDR = "addr"; public final static String TABLE_CREATE = "create table if not exists " + TABLE_NAME + "(" + "id integer PRimary key autoincrement not null," + COL_NAME + " text not null, " + COL_ADDR + " text not null" + ")"; public PersonSQLiteOpenHelper(Context context) { this(context, DB_NAME, null, VERSION); } public PersonSQLiteOpenHelper(Context context, String name, SQLiteDatabase.CursorFactory factory, int version) { super(context, name, factory, version); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(TABLE_CREATE); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { Log.i(LOGTAG, "onUpgrade"); }}SQLiteDatabase類
1、打開數據庫調用SQLiteOpenHelper的getWritableDatabase或getReadableDatabse方法。也可以使用SQLiteDatabase的openDatabase或者openOrCreateDatabse方法。2、數據庫操作查詢,query或rawQuery。增加,insert。刪除,delete。修改,update。public List<Person> query() { List<Person> list = new ArrayList<Person>(); Cursor cursor = getReadableDatabase().query(TABLE_NAME, new String[]{COL_NAME, COL_ADDR}, null, null, null, null, null); while (cursor.moveToNext()) { Person person = new Person(); person.name = cursor.getString(cursor.getColumnIndex(COL_NAME)); person.addr = cursor.getString(cursor.getColumnIndex(COL_ADDR)); list.add(person); } cursor.close(); return list;}public void add(String name, String addr) { ContentValues values = new ContentValues(); values.put(COL_NAME, name); values.put(COL_ADDR, addr); getWritableDatabase().insert(TABLE_NAME, null, values);}public void delete(String name) { getWritableDatabase().delete(TABLE_NAME, COL_NAME + "=?", new String[]{name});}public void modify(String name, String addr) { ContentValues values = new ContentValues(); values.put(COL_NAME, name); values.put(COL_ADDR, addr); getWritableDatabase().update(TABLE_NAME, values, COL_NAME + "=?", new String[]{name});}
新聞熱點
疑難解答