Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 學習筆記之 SQLite基礎用法

Android 學習筆記之 SQLite基礎用法

編輯:關於Android編程

SQLite是Android中的輕量級的數據庫,其基本操作有增、刪、查、改。每一種操作都有兩個方法,一種是通過SQL語句來執行,一種是用Android提供的方法。   一、創建數據庫(數據庫只創建一次)   復制代碼  1 public class DBHelper extends SQLiteOpenHelper {  2   3     private static final String DB_NAME = "Test.db";// 數據庫名稱  4     private static final String TBL_NAME_TEST = "TestTabName"; // 表名稱  5     // 創建數據庫的SQL語句  6     private static final String CREATE_TBL_TEST = "create table TestTabName(_id integer primary key autoincrement,TestNum text,TestName text)";  7     private SQLiteDatabase db;  8   9     /** 10      * 構造函數 11      *  12      * @param context 13      *            上下文 14      * @param name 15      *            數據庫名稱 16      * @param factory 17      * @param version 18      *            版本號 19      */ 20     public DBHelper(Context context) { 21         super(context, DB_NAME, null, 2); 22         // TODO Auto-generated constructor stub 23     } 24  25     // 創建數據庫 26     @Override 27     public void onCreate(SQLiteDatabase db) { 28         // TODO Auto-generated method stub 29         this.db = db; 30         // 創建表 31         db.execSQL(TBL_NAME_TEST); 32  33     } 34  35     // 數據庫更新 36     @Override 37     public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { 38         // TODO Auto-generated method stub 39  40     } 復制代碼 二、數據庫的操作   1>增(也就是向指定的數據庫中插入一條數據)   復制代碼  1 /**  2      * 向指定數據庫中插入一條數據  3      *   4      * @param values  5      *            ContentValues 鍵值對, 相當於map  6      * @param tableName  7      *            表名稱  8      */  9     public void insert(ContentValues values, String tableName) { 10  11         SQLiteDatabase db = getWritableDatabase(); 12         db.insert(tableName, null, values); 13         db.close(); 14  15     } 復制代碼 2>刪(可以刪除表中所有數據,也可以指定滿足條件的數據)   復制代碼  1 /**  2      * 根據ID刪除一條數據  3      *   4      * @param id  5      * @param tableName  6      */  7     public void del(int id, String tableName) {  8   9         if (db == null) 10             db = getWritableDatabase(); 11         db.delete(tableName, "_id=?", new String[] { String.valueOf(id) }); 12  13     } 14  15     /** 16      * 刪除表中所有數據 17      *  18      * @param tableName 19      */ 20     public void delAll(String tableName) { 21  22         if (db == null) 23             db = getWritableDatabase(); 24         String sql = "Delete from " + tableName; 25         try { 26             db.execSQL(sql); 27         } catch (Exception e) { 28             // TODO: handle exception 29             System.out.print(e); 30         } 31  32     } 復制代碼 3>改(更新一條指定的數據)   復制代碼  1 /**  2      * 更新一條數據  3      *   4      * @param values  5      *            要更新的數據  6      * @param id  7      *            更新的條件  8      * @param tableName  9      *            更新的表名稱 10      * @return 11      */ 12     public boolean updataData(ContentValues values, int id, String tableName) { 13         boolean bool = false; 14         SQLiteDatabase db = getWritableDatabase(); 15         bool = db.update(tableName, values, "_id=" + id, null) > 0; 16         return bool; 17  18     } 復制代碼 4>查(查詢數據,返回的是游標類型的數據,對它進行讀取,打開一個游標,當結束後要關閉游標)   復制代碼  1 /**  2      * 返回表中所有數據  3      *   4      * @param tableName  5      *            表名稱  6      * @return  7      */  8     public List<String> quertAll(String tableName) {  9         List<String> list = new ArrayList<String>(); 10         Cursor c = null; 11         SQLiteDatabase db = getWritableDatabase(); 12         c = db.query(tableName, null, null, null, null, null, null); 13         // 提取游標中的值 14         try { 15             for (c.moveToFirst(); !c.isAfterLast(); c.moveToNext()) { 16                 // 根據列名獲取數據 17                 String TestNum = c.getString(c.getColumnIndex("TestNum")); 18                 list.add(TestNum); 19             } 20         } catch (Exception e) { 21             // TODO: handle exception 22         } finally { 23             //關閉游標 24             c.close(); 25         } 26  27         return list; 28     } 復制代碼 根據條件獲取表中的值   復制代碼  1 /**  2      * 根據條件查詢數據  3      *   4      * @param where  5      *            條件  6      * @param tableName  7      *            表名稱  8      * @return   這邊我就不獲取游標中的值了,同上。  9      */ 10     public Cursor quertToWhere(String where, String tableName) { 11  12         Cursor c = null; 13         SQLiteDatabase db = getWritableDatabase(); 14         try { 15             c = db.query(tableName, null, where, null, null, null, null); 16         } catch (Exception e) { 17             // TODO: handle exception 18             String msg = e.toString(); 19             Log.i("", msg); 20         } 21         return c; 22     }
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved