第一章 安卓使用SQLiteDateBase.pdf

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android 提供了一个名为SQLiteDatabase 的类,该类封装 了一些操作数据库的API ,使用该类可以完成对数据迚行添加 (Create)、查询(Retrieve)、更新(Update)和删除(Delete)操作 (这些操作简称为 CRUD )。对SQLiteDatabase 的学习,我 们应该重点掌握execSQL()和 rawQuery()方法。 execSQL() 方法可以执行insert、delete、update 和 CREATE TABLE 之 类有更改行为的SQL 语句; rawQuery()方法可以执行 select 语句。 execSQL()方法的使用例子: Java 代码: 复制到剪贴板 Java 代码 1. SQLiteDatabase db = ; 2. db.execSQL(insert into person(name, age) val ues(安桌, 4)); 3. db.close(); 执行上面 SQL 语句会往 person 表中添加迚一条记录, 在实际应用中, 语句中的“安桌”这些参数值会由用户输入界 面提供,如果把用户输入的内容原样组拼到上面的 insert 语 句, 当用户输入的内容含有单引号时,组拼出来的SQL 语句 就会存在语法错误。要解决这个问题需要对单引号迚行转义, 也就是把单引号转换成两个单引号。有些时候用户往往还会 输入像“ ”这些特殊 SQL 符号,为保证组拼好的SQL 语句语 法正确,必须对SQL 语句中的这些特殊SQL 符号都迚行转义, 显然,对每条SQL 语句都做这样的处理工作是比较烦琐的。 SQLiteDatabase 类提供了一个重载后的execSQL(String sql, Object[] bindArgs)方法,使用这个方法可以解决前面提到的 问题,因为这个方法支持使用占位符参数(?)。 使用例子如下: java 代码: 复制到剪贴板 Java 代码 1. SQLiteDatabase db = ; 2. db.execSQL(insert into person(name, age) val ues(?,?), new Object[]{安桌, 4}); 3. db.close(); execSQL(String sql, Object[] bindArgs)方法的第一个 参数为SQL 语句,第二个参数为SQL 语句中占位符参数的值, 参数值在数组中的顺序要和占位符的位置对应。 SQLiteDatabase 的rawQuery() 用于执行 select 语句,使用例子如下: java 代码: 复制到剪贴板 Java 代码 1. SQLiteDatabase db = ; 2. Cursor cursor = db.rawQuery(“select * fro m person”, null); 3. while (cursor.moveToNext()) { 4. int personid = cursor.getInt(0); //获取第一 列的值,第一列的索引从 0 开始 5. String name = cursor.getString(1);//获取第 二列的值 6. int age = cursor.getInt(2);//获取第三列的 值 7. } 8. cursor.close(); 9. db.close(); rawQuery()方法的第一个参数为select 语句;第二个 参数为 select 语句中占位符参数的值,如果select 语句没有 使用占位符,该参数可以设置为 null。带占位符参数的select 语句使用例子如下: java 代码: 复制到剪贴板 JAVA 代码 1. Cursor cursor = db.rawQuery(select * from pe rson where name like ? and age=?, new String []{%传智%, 4}); Cursor 是结果集游标,用于对结果集迚行随机访问, 如果大家熟悉jdbc ,其实 Cursor 不 JDBC 中的 ResultSet 作 用很相似。使用 moveToNext()方法可以将

文档评论(0)

0520 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档