background image

功插入要根据表格创建时的字段限制来决定,

 比如少 name,那么此记录会插入,只是

name 字段的值为 NULL;如果少 id,那么记录不会被插入,因为创建时指定了 NOT 
NULL. 可 以 通 过 以 下 指 令 来 查 看 结 果 : adb  shell 执 行 后 进 入 shell ; cd 
/data/data/cn.demo.sqlsqlite3 database.db 进入了 sqlite 操作界面。.help 可以看到命令帮助。

.dump 可以看到数据库中的数据。

为了方便使用,可以自定义一个

insert 函数,将值通过参数传入,而 ContentValues 设

置则在函数内部实现。

java 代码:

public void insert(String id, String name, int age) {    
if( mDb == null ) mDb = getWritableDatabase();   ContentValues v = new ContentValues();   
v.put("id", id);   v.put("name", name);   
if(age > 0) v.put("age", age);   mDb.insert(TBL_NAME, "null", v); 
从表格中查询记录

SQL 语句:SELECT column list FROM table WHERE expr ORDER 

BY column list; 通过 SQLiteDatabase 类的 query()函数

Java 代码:

Cursor  SQLiteDatabase.query(String  table,     String[]  columns,  String  selection,  String[] 

selectionArgs,   

String groupBy, String having, String orderBy); 
Parameters:

table 要更新的记录所在的表名。

values 要更新的字段值。

whereClause Where 子句。更新哪些记录。

whereArgs Where 子句中的'?'替换串。

执行

update 操作时,如果只给部分字段赋值,那么 update 后,没有赋值的字段仍然保

持原来的值不变。从表格中删除记录:

java 代码:

int SQLiteDatabase.delete(String table, String whereClause, String[] whereArgs); 
Android 要深入研究 Service

Service Broker 基础应用(上)