1. 程式人生 > >SQLite數據庫

SQLite數據庫

bundle 建數據庫 -s tex pro tro highlight .sql font

SQLite數據庫

1、 synchronized SQLiteDatabase getReadableDatabase();
作用:以讀寫的方式打開數據庫對應的SQLiteDatabase類的對象
2、 synchronized SQLiteDatabase getWriteableDatabase();
作用:以寫的方式創建或打開庫對應的SQLiteDatabase類的對象
3、 abstract onCreate(SQLiteDatabase db);
作用:首次創建數據庫時調方法。
4、 abstract onUpgrade(SQLiteDatabase db,int oldVersion,
int newVersion);
作用:數據庫版本更新時調方法。
5、 synchronized void close();
作用:關閉所有打開的SQLiteDatabase對象。

定義MySQLiteOpenHelper,實現增、刪、改操作

public MySQLite(Context context) {
super(context, "person.db", null, 1);
// TODO Auto-generated constructor stub
}

@Override
public void onCreate(SQLiteDatabase db) {
db.execSQL("create table person("+
"id Integer primary key autoincrement,"
+"name varchar(20),"
+"phone varchar(11));");
}

@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

}
/**向數據庫添加數據*/
public void insert(String sql,Object[] args){
//創建對象,以寫方式打開數據庫
SQLiteDatabase db = getWritableDatabase();
db.execSQL(sql, args);	
}
/**刪除數據庫中的數據*/
public void delete(String sql,String [] args){
//創建對象,以寫方式打開數據庫
SQLiteDatabase db=this.getWritableDatabase();
db.execSQL(sql,args);
}
/**更新數據庫中的數據*/
public void update(String sql,String [] args){
//創建對象,以寫方式打開數據庫
SQLiteDatabase db=this.getWritableDatabase();
db.execSQL(sql,args);
}
/**查詢數據庫中的數據*/
public Cursor query(String sql,String [] args){
SQLiteDatabase db=getWritableDatabase();
return db.rawQuery(sql, args);
}

  

	Button bu1;
	Button bu2;
	Button bu3;
	Button bu4;
	MySQLite ms;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		// TODO Auto-generated method stub
		super.onCreate(savedInstanceState);
		setContentView(R.layout.sql);
		bu1=(Button) findViewById(R.id.bu1);
		bu2=(Button) findViewById(R.id.bu2);
		bu3=(Button) findViewById(R.id.bu3);
		bu4=(Button) findViewById(R.id.bu4);
		ms=new MySQLite(this);
		bu1.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View v) {
				String sql=
				"insert into person(name,phone,email) values(?,?,?)";
				String [] args=new String []{"zs","123456","[email protected]
/* */"}; ms.insert(sql, args); Toast.makeText(SQLImpl.this, "保存成功", 3000).show(); } }); bu2.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String sql= "delete from person where id=?"; String [] args=new String []{"1"}; ms.insert(sql, args); Toast.makeText(SQLImpl.this, "刪除成功", 3000).show(); } }); bu3.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String sql= "update person set name=?,phone=? where id=1"; String [] args=new String []{"zs","123456"}; ms.insert(sql, args); Toast.makeText(SQLImpl.this, "更新成功", 3000).show(); } }); bu4.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { String sql="select * from person where id=?"; String [] args=new String[]{"2"}; Cursor cursor=ms.query(sql, args); if(cursor.moveToFirst()){ int idIndex=cursor.getColumnIndex("id"); String id=cursor.getString(idIndex); String name=cursor.getString( cursor.getColumnIndex("name")); String phone=cursor.getString( cursor.getColumnIndex("phone")); Toast.makeText(SQLImpl.this, id+name+phone , 3000).show(); } } }); }

  

SQLite數據庫