使用系統API進行資料庫操作

c_clear發表於2015-12-23
//利用API進行資料庫操作
	public void insertApi() {
		ContentValues values = new ContentValues();
		values.put("name", "wen");
		values.put("phone", "133");
		values.put("salary", "1234");
		//返回值是-1,插入失敗
		long l = db.insert("person", null, values);
		
	}
	//利用API進行資料庫刪除
	public void deleteApi() {
		int i = db.delete("person", "_id = ?", new String[]{"2"});
	}
	//利用API進行資料庫更新
	public void updateApi() {
		ContentValues values = new ContentValues();
		values.put("name", "wnwnewln");
		db.update("person", values, "_id = ?",new String[]{"3"});
	}
	
	//查詢
	public void selectApi() {
		Cursor cur = db.query("person", null, null, null, null, null, null);
		while (cur.moveToNext()) {
			String name = cur.getString(1);
			String phone = cur.getString(2);
			int salary = cur.getInt(3);
		}
	}
事務:保證多條語句同時生效或同時不生效,比如資料庫資料轉移,需要一增一減
<pre name="code" class="java">public void transaction() {
		try{
		//開啟事務
		db.beginTransaction();
		ContentValues values = new ContentValues();
		values.put("salary", 13000);
		db.update("person", values, "name = ?", new String[]{"cui"});
		//記住values在重新put時,要clean一下,否則會把別的資料不需要改的項也覆蓋掉
		values.clear();
		values.put("salary", 13100);
		db.update("person", values, "name = ?", new String[]{"wen"});
		
		//需要設定事務執行成功,沒有這一設定。會回滾
		db.setTransactionSuccessful();
		}catch(Exception e){
			e.printStackTrace();
		}
		finally{
			//關閉事務,提交資料
			db.endTransaction();
		}
	}
	



相關文章