加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

初次使用SQLiteOpenHelper

发布时间:2020-12-12 19:44:51 所属栏目:百科 来源:网络整理
导读:插入数据 insert ( table ,nullColumnHack, values ) table:表名 nullColumnHack:空列的默认值 values:一个封装了列名和列植的Map,代表了一条数据 删除数据 db. delete ( table ,whereClause,whereArgs) table:表名 whereClause:删除条件,可以包含通

插入数据

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,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,values01 );
        db.insert(TAB_NAME,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,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);
        return cursor;
    }

    /** * 更新数据 * @param values * @param date */
    public void updata(ContentValues values,String date) {
        db = getWritableDatabase();
        db.update(TAB_NAME,values,new String[] { date });
    }
    /** * 更新数剧库时调用 */
    @Override
    public void onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion) {
        // TODO Auto-generated method stub

    }

}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读