SQLiteOpenHelper 几个重要方法: onCreate(SQLiteDatabase db); 用于初次使用软件时生成数据库表 当调用SQLiteOpenHelper的getWritableDatabase()或者getReadableDatabase()方法获取用于操作数据库的SQLiteDatabase实例的时候, 如果数据库不存在,Android系统会自动生成一个数据库,接着调用onCreate()方法,onCreate()方法在初次生成数据库时才会被调用, 在onCreate()方法里可以生成数据库表结构及添加一些应用使用到的初始化数据 onUpgrade(SQLiteDatabase db,int oldVersion,int newVersion); 在数据库的版本发生变化时会被调用,一般在软件升级时才需改变版本号 getWritableDatabase(); getReadableDatabase(); 两方法都可以获取一个用于操作数据库的SQLiteDatabase实例。但getWritableDatabase() 方法以读写方式打开数据库,一旦数据库的磁盘空间满了,数据库就只能读而不能写,倘若使用getWritableDatabase()打开数据库就会出错。getReadableDatabase()方法先以读写方式打开数据库,如果数据库的磁盘空间满了,就会打开失败,当打开失败后会继续尝试以只读方式打开数据库。 SQLiteDatabase常用方法 1、db.insert(table,nullColumnHack,values) 第一个参数是表名称,第二个参数是空列的默认值,第三个参数是ContentValues类型的一个封装了列名称和列值的Map; 2、db.delete(table,whereClause,whereArgs) 第一个参数是表名称,第二个参数是删除条件,第三个参数是删除条件值数组 3、db.update(table,values,whereArgs) 第一个参数是表名称,第二个参数是更行列ContentValues类型的键值对(Map),第三个参数是更新条件(where字句),第四个参数是更新条件数组 4、db.query(table,columns,selection,selectionArgs,groupBy,having,orderBy) 5、db.execSQL(sql)// 执行任何SQL语句 6、db.rawQuery(sql,selectionArgs) Cursorquery(table,orderBy, limit) 各个参数的意义说明: ①table:表名称 ②columns:列名称数组 ③selection:条件字句,相当于where ④selectionArgs:条件字句,参数数组 ⑤groupBy:分组列 ⑥having:分组条件 ⑦orderBy:排序列 ⑧limit:分页查询限制 (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|