android操作SQLite增删改减实现代码
如果一个应用程序中的数据库无需提供对外访问,实现一个继承自SQLiteOpenHelper的数据库帮助类,以支持数据库的创建和版本的更新, 这些SQLiteDataBase所不能实现的.但是SQLiteDataBase却具备一些非常重要的对数据库进行操作的方法,数据表的创建删除、数据 的增删改查都是通过它实现的。
执行增删改操作方法 :db.execSQL(sql); 或者db.insert()、db.delete()、db.update(),并且包括数据表的创建和删除等等也可以通过execSQL实现
代码如下
1 //创建表 2 public boolean createTable(){ 3 SQLiteDatabase db=dbHelper.getWritableDatabase(); 4 String sql="CREATE TABLE IF NOT EXISTS "+TABLE_NAME+"(ID INTEGER PRIMARY KEY,Name VARCHAR,Age INTEGER)"; 5 try{ 6 db.execSQL(sql); 7 return true; 8 }catch(SQLException ex){ 9 Log.d(tag, "create table failure"); 10 return false; 11 } 12 } 13 //添加数据 14 public boolean addData(){ 15 String name=etname.getText().toString(); 16 String age=etage.getText().toString(); 17 SQLiteDatabase db=dbHelper.getWritableDatabase(); 18 String sql="insert into "+TABLE_NAME+"(name,age) values ('"+name+"','"+age+"')"; 19 try{ 20 db.execSQL(sql); 21 return true; 22 }catch(SQLException ex){ 23 Log.d(tag, "add data failure"); 24 return false; 25 } 26 } 27 //修改 28 public boolean updateData(){ 29 SQLiteDatabase db=dbHelper.getWritableDatabase(); 30 String sql="update "+TABLE_NAME+" set age='2' where name like 'cb'"; 31 Object[] bindArgs={"cb"}; 32 try{ 33 db.execSQL(sql, bindArgs); 34 return true; 35 }catch(SQLException ex){ 36 Log.d(tag, "update data failure"); 37 return false; 38 } 39 }
执行数据查询方法:db.rawQuery(sql, selectionArgs); 或者db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy);
代码如下
1 //查询 public void selectData(){ 2 SQLiteDatabase db=dbHelper.getReadableDatabase(); 3 String[] columns={"name"}; 4 Cursor cursor=db.query(TABLE_NAME, columns, null, null, null, null, null); 5 String names=""; 6 while(cursor.moveToNext()){ 7 int c=cursor.getColumnIndexOrThrow("Name"); 8 String name=cursor.getString(c); 9 //< = > 10 //String name=cursor.getString(0);//只查询了一列 11 if(names==""){ 12 names=name; 13 }else{ 14 names=names+"\n"+name; 15 } 16 } 17 tvname.setText(names); 18 //另外一种查询方法 19 //String sql="select name from "+TABLE_NAME; 20 //Curosr cursor=db.rawQuery(sql, null); 21 }