您的位置:首页 > 数据库 > SQL

SQLiteOpenHelper的一些用法,关增、删、改、查参数的说明

2015-10-28 14:20 531 查看
今天要用到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类型值
*/
}
本文出自 “随记” 博客,请务必保留此出处http://ziruo.blog.51cto.com/10107518/1707245
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: