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","1425@qq.com"};
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();
}
}
});
}