SQLite使用方法 SQLiteOpenHelper操作(轉)


SQLiteOpenHelper主要用於 創建數據庫

SQLiteDatabase 主要用於 執行sql語句

 

  1. 程序內使用SQLite數據庫是通過SQLiteOpenHelper進行操作  
  2. 1.       自己寫個類繼承SQLiteOpenHelper,重寫以下3個方法  
  3. public void onCreate(SQLiteDatabase db)   
  4. {//創建數據庫時的操作,如建表}  
  5.    
  6. public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)   
  7.        {  
  8.            //版本更新的操作  
  9.        }  
  10. 2.    通過SQLiteOpenHelper的getWritableDatabase()獲得一個SQLiteDatabase數據庫,以后的操作都是對SQLiteDatabase進行操作。  
  11. 3.       對得到的SQLiteDatabase對象進行增,改,刪,查等操作。  
  12. 代碼  
  13. package cx.myNote;  
  14.    
  15. import android.content.ContentValues;  
  16. import android.content.Context;  
  17. import android.content.Intent;  
  18. import android.database.Cursor;  
  19. import android.database.sqlite.SQLiteDatabase;  
  20. import android.database.sqlite.SQLiteOpenHelper;  
  21.    
  22. //DBOptions for login  
  23. public class DBOptions {  
  24.        private static final String DB_NAME = "notes.db";  
  25.        private static final String DB_CREATE="create table logininf(name text,pwd text)";  
  26.        public class DBHelper extends SQLiteOpenHelper  
  27.        {  
  28.    
  29.               public DBHelper(Context context) {  
  30.                      super(context,DB_NAME, null1);  
  31.                      }  
  32.    
  33.               @Override  
  34.               public void onCreate(SQLiteDatabase db) {  
  35.                      // TODO Auto-generated method stub  
  36.                      //建表  
  37.                  db.execSQL(DB_CREATE);  
  38.               }  
  39.                 
  40.               @Override  
  41.               public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {  
  42.                      // TODO Auto-generated method stub  
  43.                      db.execSQL("drop table if exists logininf");  
  44.                      onCreate(db);  
  45.               }  
  46.                 
  47.        }  
  48.        private Context context;  
  49.        private SQLiteDatabase db;  
  50.        private DBHelper dbHelper;  
  51.        public  DBOptions(Context context)  
  52.        {  
  53.               this.context = context;  
  54.               dbHelper = new DBHelper(context);  
  55.               db=dbHelper.getReadableDatabase();  
  56.                 
  57.        }  
  58.   //自己寫的方法,對數據庫進行操作  
  59.        public String getName()  
  60.        {  
  61.                 
  62.               Cursor cursor = db.rawQuery("select name from logininf"null);  
  63.               cursor.moveToFirst();  
  64.               return cursor.getString(0);       
  65.        }  
  66.        public int changePWD(String oldP,String pwd)  
  67.        {  
  68.               ContentValues values = new ContentValues();  
  69.               values.put("pwd", pwd);  
  70.               return db.update("logininf", values,"pwd="+oldP, null);  
  71.        }  
  72. }  

 

insert方法插入的一行記錄使用ContentValus存放,ContentValues類似於Map,它提供了put(String key, Xxx value)(其中key為數據列的列名)方法用於存入數據、getAsXxxx(String key)方法用於取出數據。

 

轉載自 http://blog.csdn.net/wangqilin8888/article/details/7780228


免責聲明!

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



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