SQLite在Android中使用

时间:2022-11-26 05:34:21

程序内使用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);

       }

}