Anko SQLite 增删改查

本文介绍了如何配置Anko SQLite库,并展示了创建数据库、创建表格、删除表格、插入数据、查询数据、更新数据和删除数据的基本步骤。

首先配置Anko SQLite

compile "org.jetbrains.anko:anko-sqlite:$anko_version"

创建数据库:

class MyDatabaseOpenHelper(ctx: Context) : ManagedSQLiteOpenHelper(ctx, "MyDatabase", null, 1) {
    companion object {
        private var instance: MyDatabaseOpenHelper? = null

        @Synchronized
        fun getInstance(ctx: Context): MyDatabaseOpenHelper {
            if (instance == null) {
                instance = MyDatabaseOpenHelper(ctx.getApplicationContext())
            }
            return instance!!
        }
    }

    override fun onCreate(db: SQLiteDatabase) {
        // Here you create tables
        db.createTable("Customer", true, 
                    "id" to INTEGER + PRIMARY_KEY + UNIQUE,
                    "name" to TEXT,
                    "photo" to BLOB)
    }

    override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
        // Here you can upgrade tables, as usual
        db.dropTable("User", true)
    }
}

// Access property for Context
val Context.database: MyDatabaseOpenHelper
    get() = MyDatabaseOpenHelper.getInstance(getApplicationContext())

数据库操作代码写在

database.use{
//do something
}

创建表格

createTable("Customer", true, 
        "id" to INTEGER + PRIMARY_KEY + UNIQUE,
        "name" to TEXT,
        "photo" to BLOB)

删除表格

dropTable("User", true)

插入数据

insert(DatabaseHelper.Book.TABLE_NAME, DatabaseHelper.Book.COLUMN_ID to 2, DatabaseHelper.Book.COLUMN_TITLE to result.supID, DatabaseHelper.Book.COLUMN_AUTHOR to result.usrID)

查询数据

//查询表格所有数据
select(DatabaseHelper.Book.TABLE_NAME).exec { parseList(classParser<DatabaseHelper.Book>())}

//查询数据
select("User", "name")
    .whereArgs("(_id > {userId}) and (name = {userName})",
        "userName" to "John",
        "userId" to 42)

改数据

update(DatabaseHelper.Book.TABLE_NAME,DatabaseHelper.Book.COLUMN_TITLE to result.supID, DatabaseHelper.Book.COLUMN_AUTHOR to result.usrID).whereSimple("id=2").exec()

删数据

delete(DatabaseHelper.Book.TABLE_NAME,"id=2")
源代码: 点击这里




评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值