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

Sqlite实现增删改查

发布时间:2020-12-12 20:28:04 所属栏目:百科 来源:网络整理
导读:静态Helper类,用于建立、更新和打开数据库 private static class DBOpenHelper extends SQLiteOpenHelper { public DBOpenHelper(Context context,String name,CursorFactory factory,int version) { super(context,name,factory,version); } private stati

静态Helper类,用于建立、更新和打开数据库
private static class DBOpenHelper extends SQLiteOpenHelper {

public DBOpenHelper(Context context,String name,CursorFactory factory,int version) {
super(context,name,factory,version);
}

private static final String DB_CREATE = "create table " +
DB_TABLE + " (" + KEY_ID + " integer primary key autoincrement," +
KEY_NAME+ " text not null," + KEY_AGE+ " integer," + KEY_HEIGHT + " float);";

@Override
public void onCreate(SQLiteDatabase _db) {
_db.execSQL(DB_CREATE);
}

@Override
public void onUpgrade(SQLiteDatabase _db,int _oldVersion,int _newVersion) {
_db.execSQL("DROP TABLE IF EXISTS " + DB_TABLE);
onCreate(_db);
}
}

调用DBOpenHelper打开数据库

public void open() throws SQLiteException {
dbOpenHelper = new DBOpenHelper(context,DB_NAME,null,DB_VERSION);
try {
db = dbOpenHelper.getWritableDatabase();
}
catch (SQLiteException ex) {
db = dbOpenHelper.getReadableDatabase();
}
}

public long insert(People people) {
ContentValues newValues = new ContentValues();

newValues.put(KEY_NAME,people.Name);
newValues.put(KEY_AGE,people.Age);
newValues.put(KEY_HEIGHT,people.Height);

return db.insert(DB_TABLE,newValues);
}

public long deleteAllData() {
return db.delete(DB_TABLE,null);
}

public long deleteOneData(long id) {
return db.delete(DB_TABLE,KEY_ID + "=" + id,null);
}

public long updateOneData(long id,People people){
ContentValues updateValues = new ContentValues();
updateValues.put(KEY_NAME,people.Name);
updateValues.put(KEY_AGE,people.Age);
updateValues.put(KEY_HEIGHT,people.Height);

return db.update(DB_TABLE,updateValues,null);
}

public People[] queryAllData() {
Cursor results = db.query(DB_TABLE,new String[] { KEY_ID,KEY_NAME,KEY_AGE,KEY_HEIGHT},
null,null);
return ConvertToPeople(results);
}

public People[] queryOneData(long id) {
Cursor results = db.query(DB_TABLE,
KEY_ID + "=" + id,null);
return ConvertToPeople(results);
}

把查询结果转化为数据对象

private People[] ConvertToPeople(Cursor cursor){
int resultCounts = cursor.getCount();
if (resultCounts == 0 || !cursor.moveToFirst()){
return null;
}
People[] peoples = new People[resultCounts];
for (int i = 0 ; i<resultCounts; i++){
peoples[i] = new People();
peoples[i].ID = cursor.getInt(0);
peoples[i].Name = cursor.getString(cursor.getColumnIndex(KEY_NAME));
peoples[i].Age = cursor.getInt(cursor.getColumnIndex(KEY_AGE));
peoples[i].Height = cursor.getFloat(cursor.getColumnIndex(KEY_HEIGHT));

cursor.moveToNext();
}
return peoples;
}

然后写个activity调用这些方法即可!

(编辑:李大同)

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

    推荐文章
      热点阅读