SQLiteOpenHelper主要用于 创建数据库
SQLiteDatabase 主要用于 执行sql语句
- 程序内使用SQLite数据库是通过SQLiteOpenHelper进行操作
- 1. 自己写个类继承SQLiteOpenHelper,重写以下3个方法
- public void onCreate(SQLiteDatabase db)
- {//创建数据库时的操作,如建表}
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion)
- {
- //版本更新的操作
- }
- 2. 通过SQLiteOpenHelper的getWritableDatabase()获得一个SQLiteDatabase数据库,以后的操作都是对SQLiteDatabase进行操作。
- 3. 对得到的SQLiteDatabase对象进行增,改,删,查等操作。
- 代码
- package cx.myNote;
- import android.content.ContentValues;
- import android.content.Context;
- import android.content.Intent;
- import android.database.Cursor;
- import android.database.sqlite.SQLiteDatabase;
- import android.database.sqlite.SQLiteOpenHelper;
- //DBOptions for login
- public class DBOptions {
- private static final String DB_NAME = "notes.db";
- private static final String DB_CREATE="create table logininf(name text,pwd text)";
- public class DBHelper extends SQLiteOpenHelper
- {
- public DBHelper(Context context) {
- super(context,DB_NAME, null, 1);
- }
- @Override
- public void onCreate(SQLiteDatabase db) {
- // TODO Auto-generated method stub
- //建表
- db.execSQL(DB_CREATE);
- }
- @Override
- public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
- // TODO Auto-generated method stub
- db.execSQL("drop table if exists logininf");
- onCreate(db);
- }
- }
- private Context context;
- private SQLiteDatabase db;
- private DBHelper dbHelper;
- public DBOptions(Context context)
- {
- this.context = context;
- dbHelper = new DBHelper(context);
- db=dbHelper.getReadableDatabase();
- }
- //自己写的方法,对数据库进行操作
- public String getName()
- {
- Cursor cursor = db.rawQuery("select name from logininf", null);
- cursor.moveToFirst();
- return cursor.getString(0);
- }
- public int changePWD(String oldP,String pwd)
- {
- ContentValues values = new ContentValues();
- values.put("pwd", pwd);
- return db.update("logininf", values,"pwd="+oldP, null);
- }
- }
insert方法插入的一行记录使用ContentValus存放,ContentValues类似于Map,它提供了put(String key, Xxx value)(其中key为数据列的列名)方法用于存入数据、getAsXxxx(String key)方法用于取出数据。
转载自 http://blog.csdn.net/wangqilin8888/article/details/7780228