初次使用SQLiteOpenHelper

插入数据

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
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值