• Android中SQLite下 Cursor的使用。


    引自博客大神一篇文  

    地址:  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. cursor.close(); 
    9. db.close();  
    10.      rawQuery()方法的第一个参数为select语句;第二  个参数为select语句中占位符参数的值,如果select语句没有使用占位符,该参数可以设置为null。
    11.     带占位符参数的select语句使用例子如下: 
    12. Cursor cursor = db.rawQuery("select * from person where name like ? and age=?", new String[]{"%传智%", "4"}); 
    13.   
    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[]{"需要的内容"}

  • 相关阅读:
    O(logn)的乘方算法
    求递归算法时间复杂度:递归树
    Xcode6 创建静态库
    Intellij IDEA使用总结
    使用Entity Framework迁移完数据库后,每次修改代码(非模型代码)后都报错。
    Entity Framework Code First数据库自动更新
    Java中 堆 栈,常量池等概念解析(转载)
    使用MyEclipse9.0开发Web Service
    (转) Java源码阅读的真实体会
    Hibernate注解版设计学生、课程、成绩的关系映射
  • 原文地址:https://www.cnblogs.com/icyhusky/p/5998042.html
Copyright © 2020-2023  润新知