数据库增删改查操作(2)(精)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

数据库增删改查操作(2)

一、案例描述

程序运行的时候加载的界面如图1,包括添加、删除、修改和查询所有数据按钮,并实现相应功能。

图1 图2

单击“添加”按钮,插入一条记录,效果如图2;单击“查询全部”按钮,查询得到全部记录,并将结果打印出来,如图3;单击“删除”按钮,删除指定记录,如图4;单击“修改”按钮,修改指定记录,如图5。

图3

图4 图5

二、知识链接

(4)ContentValues类

● ContentValues类和Hashtable类较为相似,它用于存储一些键值对,可以被ContentResolver类处理,但是它存储的键值对当中的键是一个String类型,而值都是基本类型。ContentValues类作为一个重要的参数在SQLiteDatabase中的insert,update等方法中使用。

● ContentValues类有3种构造方法,格式分别如下:

√ ContentValues(:使用默认的初始大小来创建一个空集。

√ ContentValues(int size):使用指定的初始大小size值来创建一个空集。

√ ContentValues(ContentValues from):复制给定的集合from,用于创建一组集合数值。

● ContentValues类的常用方法介绍如下:

√ void clear(:清空集合中的所有数值。

√ boolean containsKey(String key):如果集合中包含了指定的关键字key,则返回true,否则返回false。

√ Object get(String key):返回关键字key对应的数值,返回数值类型为Object,通常还需要进行强制类型转换。

√ void put(String key,Integer value):将一个值加入到集合中,其中参数key表示集合中的关键字;参数value表示要添加的数据。ContentValues类还有很多put方法,主要的区别是第二个参数为其他数据类型,例如:put(String key,Byte value)、put(String key,Float value)、put(String key,Short value)、put(String key,byte[] value)

√ void remove(String key):将某个关键字key的数值从集合中删除。

√ int size (:返回集合中数值的个数。

三、案例实现

(1)MainActivity.java中添加数据的方法

/**

* 添加一条记录

*/

public void add(View view

{

Random random=new Random(;

SQLiteDatabase db=personHelper.getWritableDatabase(;

//db.execSQL("insert into info(name,phone values(?,?",new Object[]{"张三"+random.nextInt(100,"186********"};

ContentValues values=new ContentValues(;

values.put("name", "张三"+random.nextInt(100;

values.put("phone", "186775411"+random.nextInt(100;

long row=db.insert("info", null, values;

if(row==-1

{

Toast.makeText(this, "添加失败!",1.show(;

}

else

{

Toast.makeText(this, "添加成功!",1.show(;

}

db.close(;

}

(2)MainActivity.java中删除记录的方法

/**

* 删除一条记录

*/

public void delete(View view

{

SQLiteDatabase db=personHelper.getWritableDatabase(;

//db.execSQL("delete from info where name=?",new Object[]{"张三31"};

int number=db.delete("info", "name=?", new String[]{"张三11"};

if(number==0

{

Toast.makeText(this, "删除失败!记录有可能不存在!",Toast.LENGTH_LONG.show(;

}

else

{

Toast.makeText(this, "删除成功!",Toast.LENGTH_LONG.show(;

}

db.close(;

}

(3)MainActivity.java中修改记录的方法

/**

* 更新一条记录

*/

public void update(View view

{

SQLiteDatabase db=personHelper.getWritableDatabase(;

//db.execSQL("update info set phone=? where name=?",new Object[]{"187********","张三32"};

ContentValues values=new ContentValues(;

values.put("phone", "186********";

int number=db.update("info", values, "name=?", new String[]{"张三28"};

if(number==0

{

Toast.makeText(this, "修改失败!记录有可能不存在!",Toast.LENGTH_LONG.show(;

}

else

{

Toast.makeText(this, "修改成功!",Toast.LENGTH_LONG.show(;

}

db.close(;

}

(4)MainActivity.java中查询所有记录的方法

相关文档
最新文档