package com.zhkh.khpec.utility
import android.annotation.SuppressLint
import android.content.Context
import android.database.sqlite.SQLiteDatabase
import android.database.sqlite.SQLiteOpenHelper
class DatabaseHelper(context: Context?) : SQLiteOpenHelper(context, "data.db", null, 1) {
override fun onCreate(db: SQLiteDatabase) {
// 创建表 执行readableDatabase 或writableDatabase 时,如果数据库文件不存在,则执行onCreate
val createTableSQL = "CREATE TABLE IF NOT EXISTS testTB (" +
"id INTEGER PRIMARY KEY AUTOINCREMENT, " +
"name TEXT, " +
"email TEXT)"
db.execSQL(createTableSQL)
println("lqwvje数据DB:启动创建数据库")
}
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
// 更新数据库 执行readableDatabase 或writableDatabase 时,如果SQLiteOpenHelper参数 version版本高于原来的版本,则执行onUpgrade
println("lqwvje数据DB:启动更新数据")
// val alterTableSQL = "ALTER TABLE user_table ADD COLUMN phone TEXT"
// db.execSQL(alterTableSQL)
}
fun add() {
val db = this.writableDatabase
try {
val insertSQL = "INSERT INTO testTB (name, email) VALUES (?, ?)"
val args = arrayOf("罗分明", "123@luofenming.com")
db.execSQL(insertSQL, args)
println("lqwvje数据DB:启动写")
} catch (e: Exception) {
println("lqwvje数据库写入异常:" + e.message)
}
db.close()
}
@SuppressLint("Range")
fun query() {
val db = this.readableDatabase
val selectSQL = "SELECT * FROM testTB"
try {
val cursor = db.rawQuery(selectSQL, null)
if (cursor.moveToFirst()) {
do {
val name = cursor.getString(cursor.getColumnIndex("name"))
val email = cursor.getString(cursor.getColumnIndex("email"))
println("lqwvje数据DBname:" + name)
println("lqwvje数据DBemail:" + email)
// ... 处理其他字段
} while (cursor.moveToNext())
}
cursor.close()
} catch (e: Exception) {
println("lqwvje数据库读取异常:" + e.message)
}
db.close()
}
}读写调用
val dbHelper = DatabaseHelper(this.context) dbHelper.add() dbHelper.query()
本文来自 www.LuoFenMing.com