Android SQLiteDatabase的使用

Java代码 
    1. package com.shawn.test;  
    2.   
    3. import android.content.ContentValues;  
    4. import android.content.Context;  
    5. import android.database.Cursor;  
    6. import android.database.sqlite.SQLiteDatabase;  
    7. import android.database.sqlite.SQLiteOpenHelper;  
    8. import android.util.Log;  
    9.   
    10. public class DatabaseAdapter{  
    11.   
    12.     private static final String DB_NAME = "Test.db";    //数据库名  
    13.     private static final int    DB_VERSION = 1;         //数据库版本  
    14.       
    15.     private static final String DB_TABLE = "my_order";  //表名  
    16.     private static final String KEY_ID = "_id";         //id  
    17.     private static final String KEY_ORDER_ID = "order_id";  //订单号  
    18.     private static final String KEY_TYPE = "_type";         //订单类型  
    19.     private static final String KEY_STATE = "_state";       //订单状态  
    20.       
    21.     private Context context;  
    22.     private DatabaseHelper mDatabaseHelper;  
    23.     private SQLiteDatabase mSQLiteDatabase;  
    24.       
    25.     private static class DatabaseHelper extends SQLiteOpenHelper{  
    26.         //创建数据库语句  
    27.         private static final String DB_CREAT = "CREATE TABLE "  
    28.                 + DB_TABLE  
    29.                 + " (" + KEY_ID + " INTEGER PRIMARY KEY,"  
    30.                 + KEY_ORDER_ID + " TEXT,"  
    31.                 + KEY_TYPE + " INTEGER,"  
    32.                 + KEY_STATE + " INTEGER)";  
    33.           
    34.         public DatabaseHelper(Context context) {  
    35.             super(context, DB_NAME,  null , DB_VERSION);  
    36.         }  
    37.         @Override  
    38.         public void onCreate(SQLiteDatabase db) {  
    39.             // TODO Auto-generated method stub  
    40.             db.execSQL(DB_CREAT);  
    41.         }  
    42.         @Override  
    43.         public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
    44.             // TODO Auto-generated method stub  
    45.             db.execSQL("DROP TABLE IF EXISTS "+DB_TABLE);  
    46.             onCreate(db);  
    47.         }  
    48.     }  
    49.   
    50.     public DatabaseAdapter(Context context) {  
    51.         this.context = context;  
    52.     }  
    53.     //开启  
    54.     public void open() {  
    55.         mDatabaseHelper = new DatabaseHelper(context);    
    56.         mSQLiteDatabase = mDatabaseHelper.getWritableDatabase();  
    57.     }  
    58.     //关闭  
    59.     public void close() {   
    60.         mSQLiteDatabase.close();  
    61.         mDatabaseHelper.close();  
    62.     }  
    63.       
    64.     //增  
    65.     public long insertData(String orderId, int type) {    
    66.         ContentValues values = new  ContentValues();     
    67.         values.put(KEY_ORDER_ID, orderId);   
    68.         values.put(KEY_TYPE, type);  
    69.         values.put(KEY_STATE, Config.STATE_APPLY);   
    70.         long id = mSQLiteDatabase.insert(DB_TABLE, KEY_ID, values);   
    71.         return id;  
    72.     }  
    73.     //删  
    74.     public boolean deleteData(Context context, long id) {  
    75.         boolean delete = mSQLiteDatabase.delete(DB_TABLE, KEY_ID + "=" +id, null)>0;  
    76.         return delete;  
    77.     }  
    78.     //改  
    79.     public boolean updateData(long id, int state) {  
    80.         ContentValues values = new  ContentValues();    
    81.         values.put(KEY_STATE, ""+state);   
    82.         boolean update = mSQLiteDatabase.update(DB_TABLE, values, KEY_ID + "=" +id, null)>0;  
    83.         return update;  
    84.     }  
    85.     //查  
    86.     public Cursor fetchData(String selection) {  
    87.         Cursor mCursor = mSQLiteDatabase.query(DB_TABLE, new String[]{KEY_ID, KEY_ORDER_ID, KEY_TYPE, KEY_STATE}, selection, nullnullnullnull);  
    88.         if(mCursor != null)  
    89.             mCursor.moveToFirst();  
    90.         return mCursor;  
    91.     }  

posted @ 2013-12-10 14:42  brave-sailor  阅读(2354)  评论(0编辑  收藏  举报