初次使用SQLiteOpenHelper

来源:互联网 发布:python读取csv文件 编辑:程序博客网 时间:2024/05/22 06:49

插入数据

insert(table, nullColumnHack, values)

table:表名
nullColumnHack:空列的默认值
values:一个封装了列名和列植的Map,代表了一条数据

删除数据

db.delete(table, whereClause, whereArgs)

table:表名
whereClause:删除条件,可以包含通配符“?”
whereArgs:删除条件参数数组,用来填充通配符

查询数据

db.query(table, columns, selection, selectionArgs, groupBy, having, orderBy)

table:表名
columns:列名数组
selection:条件where子句,可以包含通配符“?”
groupBy:分组列
having:分组条件
orderBy:排序列

修改数据

db.update(table, values, whereClause, whereArgs)

table:表名 values:更新的记录信息
whereClause:更新的条件,可以包含通配符“?”
whereArgs:更新的条件值数组,用来填充通配符

具体操作可参见一下代码:

public class MyHelper extends SQLiteOpenHelper {    public static String DB_NAME = "note.db";    public static String TAB_NAME = "notes";    public static String ID = "_id";    public static String CONTENT = "content";    public static String DATE = "date";    private SQLiteDatabase db;    public MyHelper(Context context) {        super(context, DB_NAME, null, 1);    }    /**     * 创建数据库时调用     */    @Override    public void onCreate(SQLiteDatabase db) {        this.db = db;        String sql = "create table notes (" + ID                + " integer primary key autoincrement," + CONTENT + " text,"                + DATE + " text)";        //建表        db.execSQL(sql);        //插入一些初始数据        ContentValues values01 = new ContentValues();        values01.put(CONTENT, "我是初始数据一");        values01.put(DATE, getdate());        ContentValues values02 = new ContentValues();        values02.put(CONTENT, "我是初始数据二");        values02.put(DATE, getdate());        db.insert(TAB_NAME, null, values01 );        db.insert(TAB_NAME, null, values02 );    }    /**     * 获取当前时间     * @return     */    public String getdate() {        Date dt = new Date();        DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        String nowTime = df.format(dt);        return nowTime;    }    /**     * 插入数据     * @param values     */    public void insert(ContentValues values) {        db = getWritableDatabase();        db.insert(TAB_NAME, null, values);        db.close();    }    /**     * 删除数据     * @param date     */    public void delete(String date) {        db = getWritableDatabase();        db.delete(TAB_NAME, DATE + "= ? ", new String[] { date });        db.close();    }    /**     * 查询数据     * @return     */    public Cursor query() {        db = getWritableDatabase();        Cursor cursor = db.query(TAB_NAME, null, null, null, null, null, null);        return cursor;    }    /**     * 更新数据     * @param values     * @param date     */    public void updata(ContentValues values, String date) {        db = getWritableDatabase();        db.update(TAB_NAME, values, DATE + "= ? ", new String[] { date });    }    /**     * 更新数剧库时调用     */    @Override    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {        // TODO Auto-generated method stub    }}
1 0