今天要用到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进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。