今天要用到sqlite数据库来保存用户登陆信息,都快把数据库知识忘记了,又做了一份有关增、删、改、查的参数的详细说明。后来想想做好这个不保存下来实在太可惜了,所以就写了文章记录下,以免以后忘了再整理。
public class AccountDB extends SQLiteOpenHelper { private static final String DB_NAME = "message.db"; private static final int DB_VERSION = 1; public AccountDB(Context context) { super(context, DB_NAME, null, DB_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String sql = "CREATE TABLE IF NOT EXISTS " + "gd_account" + "(" + "_id" + " INTEGER PRIMARY KEY NOT NULL," + "username" + " VARCHAR(50)," + "password" + " VARCHAR(50)," + "remember" + " BYTE," + "automate" + " BYTE" + ")"; db.execSQL(sql); } @Override public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) { // TODO Auto-generated method stub // 版本更新会调用这个方法 } /** * 添加数据 * @param nullColumnHack 空列的默认值 * @param values ContentValues类型的一个封装了列名称和列值的Map * @return */ public long insert(String nullColumnHack, ContentValues values) { SQLiteDatabase wdb = getWritableDatabase(); return wdb.insert("gd_account", nullColumnHack, values); } /** * 更新数据 * @param values 更行列ContentValues类型的键值对(Map) * @param whereClause 更新条件(where字句) * @param whereArgs 更新条件数组 * @return */ public int update(ContentValues values, String whereClause, String[] whereArgs) { SQLiteDatabase wdb = getWritableDatabase(); return wdb.update("gd_account", values, whereClause, whereArgs); } /** * 删除数据 * @param whereClause 删除条件 * @param whereArgs 删除条件值数组 * @return */ public int delete(String whereClause, String[] whereArgs) { SQLiteDatabase wdb = getWritableDatabase(); return wdb.delete("gd_account", whereClause, whereArgs); } /** * 查询数据 * @param columns 要查询的字段 * @param selection 要查询的条件 * @param selectionArgs 要查询的条件中占位符的值 * @param groupBy 对查询的结果进行分组 * @param having 对分组的结果进行限制,分组条件 * @param orderBy 对查询的结果进行排序(“id desc”表示根据id倒序) * @param limit 分页查询限制(如”1,3”表示获取第1到第3的数据共3条, * 如“2”表示获取两条数据) * @return */ public Cursor query(String[] columns, String selection, String[] selectionArgs, String groupBy, String having, String orderBy, String limit) { SQLiteDatabase rdb = getReadableDatabase(); return rdb.query("gd_account", columns, selection, selectionArgs, groupBy, having, orderBy, limit); } /** * Cursor游标接口常用方法: * getCount() 总记录条数 * isFirst() 判断是否第一条记录 * isLast() 判断是否最后一条记录 * moveToFirst() 移动到第一条记录 * moveToLast() 移动到最后一条记录 * move(int offset) 移动到指定记录 * moveToNext() 移动到下一条记录 * moveToPrevious() 移动到上一条记录 * getColumnIndex(String columnName) 根据列名得到列位置id * getColumnIndexOrThrow(String columnName) 根据列名称获得列索引 * getInt(int columnIndex) 获得指定列索引的int类型值 * getString(int columnIndex) 获得指定列索引的String类型值 */ } |
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。