引自博客大神一篇文  

地址:  http://blog.sina.com.cn/s/blog_15e2abdd90102wcdu.html

rawQuery()方法用于执行select语句。 

  1. /*
  2. SQLiteDatabase的rawQuery() 用于执行select语句,使用例子如下:  SQLiteDatabase db = ....;
  3. Cursor cursor = db.rawQuery(“select * from person”, null); 
  4. while (cursor.moveToNext()) {
  5. int personid = cursor.getInt(0); //获取第一列的值,第一列的索引从0开始
  6. String name = cursor.getString(1);//获取第二列的值
  7. int age = cursor.getInt(2);//获取第三列的值
  8. }
  9. cursor.close();
  10. db.close();
  11.  rawQuery()方法的第一个参数为select语句;第二  个参数为select语句中占位符参数的值,如果select语句没有使用占位符,该参数可以设置为null。
  12. 带占位符参数的select语句使用例子如下:
  13. Cursor cursor = db.rawQuery("select * from person where name like ? and age=?", new String[]{"%传智%", "4"});
  14. Cursor是结果集游标,用于对结果集进行随机访问,如果大家熟悉jdbc, 其实Cursor与JDBC中的ResultSet作用很相似。使用moveToNext()方法可以将游标从当前行移动到下一行,如果已经移过了结果集的最后一行,返回结果为false,否则为true。另外Cursor 还有常用的moveToPrevious()方法(用于将游标从当前行移动到上一行,如果已经移过了结果集的第一行,返回值为false,否则为true )、moveToFirst()方法(用于将游标移动到结果集的第一行,如果结果集为空,返回值为false,否则为true )和moveToLast()方法(用于将游标移动到结果集的最后一行,如果结果集为空,返回值为false,否则为true ) 。

个人的一些理解:

1,这个cursor的作用就类似于我们打字的光标,对select到的结果进行遍历

然后,利用while (cursor.moveToNext()){}中的语句,得到我们有用的信息

2,对于rawQuery()中第二个参数的理解:

(1)就像我们C语言的输入输出一样,输出一串字符时候,我们只需要在双引号" *****  "打上我们需要打印的内容

    而里面有变量时候,就需要%d,%s,%c等等的操作,然后后面在加上变量名。

(2)这里,如果前面双引号中的select语句是完整的,永不到我们函数中的变量,我们就第二个参数写null

  而如果它要用到变量,我们就在变量处些问号?   第二个参数写 new String[]{"需要的内容"}

Android中SQLite下 Cursor的使用。的更多相关文章

  1. Android中SQLite数据库操作(1)——使用SQL语句操作SQLite数据库

    下面是最原始的方法,用SQL语句操作数据库.后面的"Android中SQLite数据库操作(2)--SQLiteOpenHelper类"将介绍一种常用的android封装操作SQL ...

  2. Android中SQLite数据库小计

    2016-03-16 Android数据库支持 本文节选并翻译<Enterprise Android - Programing Android Database Applications for ...

  3. Android中SQLite应用详解

    上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们对SQLite已经有所了解了,那今天呢,我就和大家分享一下在Android中如何使用SQLite. 现在的主流移动设备像Android.i ...

  4. Android中SQLite应用详解(转)

    上次我向大家介绍了SQLite的基本信息和使用过程,相信朋友们对SQLite已经有所了解了,那今天呢,我就和大家分享一下在Android中如何使用SQLite. 现在的主流移动设备像Android.i ...

  5. Android 中 SQLite 性能优化

    数据库是应用开发中常用的技术,在Android应用中也不例外.Android默认使用了SQLite数据库,在应用程序开发中,我们使用最多的无外乎增删改查.纵使操作简单,也有可能出现查找数据缓慢,插入数 ...

  6. Android 中关于 【Cursor】 类的介绍

    转自(http://www.cnblogs.com/TerryBlog/archive/2010/07/05/1771459.html) 使用过 SQLite 数据库的童鞋对 Cursor 应该不陌生 ...

  7. Android中SQLite介绍

    现在的主流移动设备像Android.iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,也许就要使用到SQLite来存储我们大量的数据,所以我们就需要掌握移动设备上 ...

  8. Android中SQLite应用具体解释

    如今的主流移动设备像Android.iPhone等都使用SQLite作为复杂数据的存储引擎,在我们为移动设备开发应用程序时,或许就要使用到SQLite来存储我们大量的数据,所以我们就须要掌握移动设备上 ...

  9. android中sqlite数据库的基本使用和添加多张表

    看了很多关于android使用sqlite数据库的文章,很多都是介绍了数据库的建立和表的建立,而表通常都是只建立一张,而实际情况我们用到的表可能不止一张,那这种情况下我们又该怎么办呢,好了,下面我教大 ...

随机推荐

  1. 如何通过iframe以post方式提交form表单

    以前用过一次这种技术,这次用居然忘了,现纪录下来,下次再用就来看看. 首先在html中需要准备好form和iframe元素代码如下: <form id="speaker_form&qu ...

  2. js相关总结

    1.都是gbk格式的页面使用ajax请求,发起前改变编码格式,可避免乱码. $.ajaxSetup({     'beforeSend' : function(xhr) {         xhr.o ...

  3. noi 4978 宠物小精灵之收服

    题目链接:http://noi.openjudge.cn/ch0206/4978/ 二维费用背包 在最后找还剩多少体力的时候,直接找到第二维,当结果 f[n][i] == f[n][m] 时,就说明已 ...

  4. (8) 深入理解Java Class文件格式(七)

    转载:http://blog.csdn.net/zhangjg_blog/article/details/22091529 本专栏列前面的一系列博客, 对Class文件中的一部分数据项进行了介绍. 本 ...

  5. CSS 定位

    一.CSS 定位和浮动   它们代替了多年来的表格布局.   定位的思想很简单,相对于正常位置.相对于父元素.另一个元素甚至是浏览器窗口的位置.   浮动在 CSS1 中被首次提出.浮动不完全是定位, ...

  6. C++高精度计算代码运行时间(转载)

    转载:http://blog.csdn.net/rrrfff/article/details/6583410 //在定时前应该先调用QueryPerformanceFrequency()函数获得机器内 ...

  7. Cheatsheet: 2015 05.01 ~ 05.31

    .NET .NET on Mac for the OS X n00b without Mono via Visual Studio Code Microsoft frameworks deprecat ...

  8. centos7 中libgdiplus的安装

    yum -y install libtool* git clone git://github.com/mono/libgdiplus.git cd libgdiplus ./autogen.sh -- ...

  9. C# 使用lock关键字lock不同的对象

    c# lock关键字的本质 是调用Monitor.Enter(object obj)并且在finally的时候调用Monitor.Exit(obj) 在obj是不同数据类型的时候会出现不同的情况 1. ...

  10. onethink使用经验

    1 建议随时从oschina上下载onethink的最新版本,如果你遇到了怎么都解决不了的问题,比如菜单管理自定义菜单,左侧二级菜单不显示的问题,好像有一个历史版本就是有bug,好像是1.1开始的一个 ...