SQLite

作者: JacksonMrwang | 来源:发表于2019-03-28 08:46 被阅读0次

SQLite数据储存实现增删查

功能实现
public class MyDatabaseHelper extends SQLiteOpenHelper {
    private final String CREATE_TABLE = "create table book( id varchar(20) primary key,name varchar(20),price REAL)";
    private Cursor cursor;
    public MyDatabaseHelper(@Nullable Context context, @Nullable String name, @Nullable
            SQLiteDatabase.CursorFactory factory, int version) {
        super(context, name, factory, version);
    }
    public synchronized int add(Book book){//插入数据
        SQLiteDatabase database = this.getWritableDatabase();
        ContentValues contentValues = new ContentValues();
        contentValues.put("id",book.getId());
        contentValues.put("name",book.getName());
        contentValues.put("price",book.getPrice());
        long m = database.insert("book",null, contentValues);
        this.close();
        return m==-1 ? 0:1;
    }

    public synchronized int delete(String id){//删除数据
        SQLiteDatabase database = this.getWritableDatabase();
        return database.delete("book","id = ?",new String[]{id});
    }

    public List<Book> list(){
        List<Book> books = new ArrayList<>();
        Cursor cursor = this.getReadableDatabase().query("book",null,null,null,null,null,null);
        if(cursor.moveToFirst()){
            Book book;
            do{
                //遍历Cursor对象,取出数据并打印
                book = new Book(
                        cursor.getString(cursor.getColumnIndex("id")),
                        cursor.getString(cursor.getColumnIndex("name")),
                        cursor.getDouble(cursor.getColumnIndex("price")));
//                Log.d("数据", String.valueOf(book));
                books.add(book);
            }while(cursor.moveToNext());
        }
        return books;
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {

    }

    @Override
    public synchronized void close() {
        if (cursor != null && !cursor.isClosed()) {
            cursor.close();
            cursor = null;
        }
        super.close();
    }
}


相关文章

网友评论

      本文标题:SQLite

      本文链接:https://www.haomeiwen.com/subject/fhztbqtx.html