zoukankan      html  css  js  c++  java
  • 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[]{"需要的内容"}

  • 相关阅读:
    aud$定位错误用户密码登陆数据库的具体信息
    Linux 磁盘分区、格式化、目录挂载
    Linux RHCS 基础维护命令
    Vertica 6.1不完全恢复启动到LGE方法
    Oracle Recovery 02
    如何删除回滚段状态为NEEDS RECOVERY的undo表空间
    Oracle Recovery 01
    DRA(Data Recovery Advisor)的使用
    Oracle启动报错ORA-27102解决
    jquery remove()不兼容问题解决方案
  • 原文地址:https://www.cnblogs.com/icyhusky/p/5998042.html
Copyright © 2011-2022 走看看