//在activity中使用
//DB的資料
void DBSelect(){
DB DBH;
DBH = new DB(this);
DBH.open();
//cccc=所有資料的Cursor
Cursor cccc=DBH.getALL();
DBH.close();
}
//新增一個id=1的資料
void DBInsert(){
DB DBH;
DBH = new DB(this);
int id = 1;
DBH.open();
DBH.create(id);
DBH.close();
}
//刪除一筆id=1的資料
void DBDelete(){
DB DBH;
DBH = new DB(this);
int id = 1;
DBH.open();
DBH.delete(id);
DBH.close();
}
//修改id=1的資料中的count = 5;
void DBUpdate(){
DB DBH;
DBH = new DB(this);
int id = 1;
DBH.open();
DBH.update(id,5);
DBH.close();
}
public class DB{
private Context mContext = null;
private DatabaseHelper dbHelper;
private SQLiteDatabase db;
private static final String KEY_COUNT = "_CC";
private static final String KEY_ROWID = "_id";
String[] strCols = new String[]{
KEY_ROWID,
KEY_COUNT
};
private static final String DATABASE_NAME = "go.db";
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_TABLE = "go";
private static final String DATABASE_CREATE =
"CREATE TABLE "+DATABASE_TABLE+"("
+KEY_ROWID+" INTEGER PRIMARY KEY,"
+KEY_COUNT +" INTEGER"
+");";
public DB(Contextcontext){
this.mContext = context;
}
public DB open() throws SQLiteException{
dbHelper = new DatabaseHelper(mContext);
db = dbHelper.getWritableDatabase();
return this;
}
public void close(){
dbHelper.close();
}
public Cursor getALL(){
//return db.rawQuery("select * from" +DATABASE_TABLE+ "order by created DESC",null);
returndb.query(DATABASE_TABLE,
strCols,
null,
null,
null,
null,
KEY_COUNT+" DESC");
}
//insert 用
public long create(intrecord){
// SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm", Locale.ENGLISH);
ContentValuesargs = new ContentValues();
args.put(KEY_ROWID, record);
args.put(KEY_COUNT, 0);
returndb.insert(DATABASE_TABLE,null,args);
}
public Cursor get(long rowId)throws SQLiteException{
Cursor mCursor = db.query(true,
DATABASE_TABLE,
new String[]{KEY_ROWID,KEY_COUNT},
KEY_ROWID + "=" + rowId,
null,null,null,null,null
);
if(mCursor != null){
mCursor.moveToFirst();
}
return mCursor;
}
//update用
public booleanupdate(introwId,intrecord){
ContentValuesargs = new ContentValues();
args.put(KEY_COUNT,record);
returndb.update(DATABASE_TABLE,args,KEY_ROWID+"="+rowId,null)>0;
}
//根據rowId刪除資料
public booleandelete(longrowId){
returndb.delete(DATABASE_TABLE,KEY_ROWID+"="+rowId,null)>0;
}
private static classDatabaseHelperextendsSQLiteOpenHelper{
public DatabaseHelper(Contextcontext){
super(context,DATABASE_NAME,null,DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabasedb){
db.execSQL(DATABASE_CREATE);
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldV, int newV) {
db.execSQL("DROP TABLE IF EXISTS "+DATABASE_TABLE);
onCreate(db);
}
}
}