android sqllte增删改查

来源:互联网 发布:c语言画生日蛋糕 编辑:程序博客网 时间:2024/04/26 18:13

1.插入数据

插入数据有两种方法:

①SQLiteDatabase的insert(String table,String nullColumnHack,ContentValues values)方法,参数一是表名称,参数二是空列的默认值,参数三是ContentValues类型的一个封装了列名称和列值的Map;

不管第三个参数是否包含数据,执行Insert()方法必然会添加一条记录,如果第三个参数为空,会添加一条除主键之外其他字段值为Null的记录。Insert()方法内部实际上通过构造insert SQL语句完成数据的添加,Insert()方法的第二个参数用于指定空值字段的名称,相信大家对该参数会感到疑惑,该参数的作用是什么?是这样的:如果第三个参数values 为Null或者元素个数为0, 由于Insert()方法要求必须添加一条除了主键之外其它字段为Null值的记录,为了满足SQL语法的需要, insert语句必须给定一个字段名,如:insert into person(name) values(NULL),倘若不给定字段名 , insert语句就成了这样: insert into person() values(),显然这不满足标准SQL的语法。对于字段名,建议使用主键之外的字段,如果使用了INTEGER类型的主键字段,执行类似insert into person(personid) values(NULL)的insert语句后,该主键字段值也不会为NULL。如果第三个参数values 不为Null并且元素的个数大于0 ,可以把第二个参数设置为null

②编写插入数据的SQL语句,直接调用SQLiteDatabase的execSQL()方法来执行

第一种方法的代码:

  1. private void insert(SQLiteDatabase db) {  
  2.    
  3.     //实例化常量值 
  4.     ContentValues cValue = new ContentValues();  
  5.    
  6.     //添加用户名 
  7.     cValue.put("sname","xiaoming");  
  8.    
  9.     //添加密码 
  10.     cValue.put("snumber","01005");  
  11.    
  12.     //调用insert()方法插入数据 
  13.     db.insert("stu_table",null,cValue);  
  14. }  

第二种方法的代码:

  1. private void insert(SQLiteDatabase db){   
  2.  
  3.      //插入数据SQL语句  
  4.      String stu_sql="insert into stu_table(sname,snumber) values('xiaoming','01005')";  
  5.    
  6.     //执行SQL语句  
  7.      db.execSQL(sql);  
  8. }

2.删除数据

删除数据也有两种方法:

①调用SQLiteDatabase的delete(String table,String whereClause,String[] whereArgs)方法,参数一是表名称,参数二是删除条件,参数三是删除条件值数组;

②编写删除SQL语句,调用SQLiteDatabase的execSQL()方法来执行删除。

第一种方法的代码:

  1. private void delete(SQLiteDatabase db) {  
  2.    
  3.    //删除条件  
  4.    String whereClause = "_id=?";  
  5.    
  6.    //删除条件参数  
  7.    String[] whereArgs = {String.valueOf(2)};  
  8.    
  9.    //执行删除  
  10.    db.delete("stu_table",whereClause,whereArgs);   
  11. }  

第二种方法的代码:

  1. private void delete(SQLiteDatabase db) {  
  2.    
  3.    //删除SQL语句  
  4.    String sql = "delete from stu_table where _id  = 6";  
  5.    
  6.    //执行SQL语句  
  7.    db.execSQL(sql);  
  8. }  

3.修改数据

修改数据有两种方法:

①调用SQLiteDatabase的update(String table,ContentValues values,String whereClause, String[] whereArgs)方法。参数是表名称,参数是更行列ContentValues类型的键值对(Map),参数是更新条件(where字句),参数是更新条件数组。

②编写更新的SQL语句,调用SQLiteDatabase的execSQL执行更新。

第一种方法的代码:

  1. private void update(SQLiteDatabase db) {  
  2.    
  3.     //实例化内容值  
  4.     ContentValues values = new ContentValues();  
  5.    
  6.     //在values中添加内容   
  7.     values.put("snumber","101003");  
  8.    
  9.     //修改条件   
  10.     String whereClause = "id=?";  
  11.    
  12.     //修改添加参数  
  13.     String[] whereArgs={String.valuesOf(1)};  
  14.    
  15.     //修改  
  16.     db.update("usertable",values,whereClause,whereArgs);   
  17. }  

第二种方法的代码:

  1. private void update(SQLiteDatabase db){  
  2.    
  3.     //修改SQL语句  
  4.     String sql = "update stu_table set snumber = 654321 where id = 1";  
  5.    
  6.     //执行SQL  
  7.     db.execSQL(sql);   
  8. }  
4.查询数据

查询数据的方式太多了,这里不一一赘述,有时间专门整理一次查询

public Cursor rawQuery (String sql, String[] selectionArgs)


0 0
原创粉丝点击