標籤:
一、在Android中查詢資料庫用到兩個重要的類:
1.SQLiteDatabase:用來建立,刪除,執行SQL命令,並執行其他常見的資料庫管理工作。
2.query(String table, String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy)
返回Cursor對象
table:資料庫裡邊表的名稱
columns:需要查詢出來資料庫列數組
selection:資料庫查詢條件,相當於where後面的條件。如果沒有則用null代替
selectionArgs:資料庫where條件後面經常會帶?號,這個就是?號的替代者。如果沒有則用null代替
groupBy:查詢出來的資料是否需要分組。如果沒有則用null代替
having:彙總操作。如果沒有則用null代替
orderBy:查詢出來的資料是否需要排序。如果沒有則用null代替
Cursor:查詢資料庫返回的結果對象。
isFirst():返回遊標是否指向第一行。
isLast():返回遊標是否指向最後一行。
moveToFirst():移動游標到第一行。
moveToLast():將游標移動到最後一行。
moveToNext():將游標移動到下一行。
moveToPosition(int position):將游標移動到一個絕對位置。
moveToPrevious():移動游標到上一行。
getColumnIndex(String columnName):獲得列索引,序號以0開始
getColumnIndexOrThrow(String columnName):返回給定列名稱的從零開始的索引
二、JAVA代碼
//1定義: private final String DATABASE_PATH = "/data/data/com.android.providers.settings/databases"; private final String DATABASE_FILENAME = "settings.db"; SQLiteDatabase database; //2開啟資料庫: private SQLiteDatabase openDatabase() { try { // 獲得dictionary.db檔案的絕對路徑 String databaseFilename = DATABASE_PATH + "/" + DATABASE_FILENAME; File dir = new File(DATABASE_PATH); // 開啟/sdcard/dictionary目錄中的dictionary.db檔案 SQLiteDatabase database = SQLiteDatabase.openOrCreateDatabase( databaseFilename, null); return database; } catch (Exception e) { } return null; } //3查詢資料庫:System.out.println("*****************************select********************************");database = openDatabase();String name = null;Cursor cs=database.rawQuery("select * from secure where name=\"udp_url\"", null); //列印第三列參數值 while(cs.moveToNext()){ name = cs.getString(2); System.out.println(name); } cs.close(); database.close(); System.out.println("******************************select*******************************");//4更新資料庫:System.out.println("****************************update*********************************"); database = openDatabase(); Cursor cs=database.rawQuery("update secure set value =\""+ str + "\" where name='udp_url'", null); while(cs.moveToNext()){ String name = cs.getString(2); System.out.println(name); } cs.close(); database.close(); System.out.println("****************************update*********************************");</span>
安卓java層操作資料庫