Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package com.example.myapplication
- import android.content.Context
- import android.database.sqlite.SQLiteDatabase
- import android.database.sqlite.SQLiteOpenHelper
- import androidx.core.content.contentValuesOf
- class DBHelper(val context: Context) : SQLiteOpenHelper(context, DATABASE_NAME, null, DATABASE_VERSION) {
- companion object {
- internal const val DATABASE_VERSION = 1
- internal const val DATABASE_NAME = "Users.db"
- internal const val TABLE_NAME = "users"
- internal const val COL_ID = "id"
- internal const val COL_NAME = "name"
- internal const val COL_SURNAME = "surname"
- }
- override fun onCreate(db: SQLiteDatabase?) {
- val sql = db!!.execSQL("CREATE TABLE IF NOT EXISTS $TABLE_NAME(" +
- "$COL_ID INTEGER PRIMARY KEY, " +
- "$COL_NAME TEXT NOT NULL, " +
- "$COL_SURNAME TEXT NOT NULL)")
- }
- override fun onUpgrade(db: SQLiteDatabase?, oldVersion: Int, newVersion: Int) {
- db!!.execSQL("DROP TABLE IF EXISTS $TABLE_NAME")
- onCreate(db!!)
- }
- val allUsers: MutableList<User>
- get(){
- val query = "SELECT * FROM $TABLE_NAME"
- val users = mutableListOf<User>()
- val db = this.writableDatabase
- val cursor = db.rawQuery(query, null)
- if(cursor.moveToFirst())
- {
- do {
- val id = cursor.getInt(cursor.getColumnIndex(COL_ID))
- val name = cursor.getString(cursor.getColumnIndex(COL_NAME))
- val surname = cursor.getString(cursor.getColumnIndex(COL_SURNAME))
- val user = User(name,surname, id)
- users.add((user))
- } while (cursor.moveToNext())
- }
- db.close()
- return users
- }
- override fun onDowngrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int) {
- onUpgrade(db, oldVersion, newVersion)
- }
- fun addUser(user: User) : Long
- {
- val db = this.writableDatabase
- val value = contentValuesOf()
- value.put(COL_NAME, user.name)
- value.put(COL_SURNAME, user.surname)
- val result = db.insert(TABLE_NAME, null, value)
- user.id = result.toInt()
- db.close()
- return result
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement