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[]{"需要的內容"}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM