Android下SQLite的简单实用

来源:互联网 发布:电信大数据应用案例 编辑:程序博客网 时间:2024/06/13 01:08

一、声明一个类继承SQLiteOpenHelper

public class MySQLiteOpenHelper extends SQLiteOpenHelper {    public MySQLiteOpenHelper(Context context) {        //参数说明        //context 应用上下文 对象        //name 数据库名        //factory 游标 工厂  :  Cursor---cursorFactory        //version: 版本, 数据库的版本         super(context, "student.db", null, 1);    }    public void onCreate(SQLiteDatabase db) {        //创建数据表        String sql = "create table student("                + "_id integer primary key autoincrement,"                + "name varchar(20),"                + "schoolcard varchar(10),"                + "sex varchar(6))";        db.execSQL(sql);        //释放资源        db.close();    }    //该方法在更新数据库表的时候使用    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {    }}

二、实现CURD操作

public class MyDao {    MySQLiteOpenHelper helper;    public MyDao(Context context){        helper = new MySQLiteOpenHelper(context);    }    public void insert(String name, String schoolcard, String sex){        //获取一个可写的数据库对象        SQLiteDatabase db = helper.getWritableDatabase();        //使用参数绑定的方式插入一条记录,需要传入一个Object对象数组        db.execSQL("insert into student values(null, ?, ?, ?)", new Object[]{name, schoolcard, sex});        db.close();    }    public void delete(String schoolcard){        SQLiteDatabase db = helper.getWritableDatabase();        db.execSQL("delete from student where schoolcard = ?", new Object[]{schoolcard});        db.close();    }    public void update(String name, String schoolcard, String sex){        SQLiteDatabase db = helper.getWritableDatabase();        db.execSQL("update student set name = ?, sex = ? where schoolcard = ?", new Object[]{name, sex, schoolcard});        db.close();    }    public String findOne(String schoolcard){        //获取一个可读的数据库对象        SQLiteDatabase db = helper.getReadableDatabase();        //使用参数绑定的方式执行查询操作,需要传入一个字符串数组,返回一个Cursor对象,默认指向第一条记录之前        Cursor cursor = db.rawQuery("select name, sex from student where schoolcard = ?", new String[]{schoolcard});        String name = null;        String sex = null;        //将Cursor指向下一条记录        if(cursor.moveToNext()){            //获取字段            name = cursor.getString(0);            sex = cursor.getString(1);        }        return name;    }}

三、执行以上操作后,生成的数据库文件在/data/data/包名/databases/数据库名.db

原创粉丝点击