Professional Documents
Culture Documents
SQLite (Bagian 2)
//Read Data
@SuppressLint("Range")
fun readData() : MutableList<User1> {
var list = ArrayList<com.itpln.latihansqlite.User>()
val db = this.readableDatabase
val query = "Select * from " + TABLE_NAME
val result = db.rawQuery(query, null)
if (result.moveToFirst() ){
do {
var user = User1()
user.id =
result.getString(result.getColumnIndex(COL_ID)).toInt()
user.name =
result.getString(result.getColumnIndex(COL_NAME))
user.age =
result.getString(result.getColumnIndex(COL_AGE)).toInt()
list.add(user)
}while (result.moveToNext())
}
result.close()
db.close()
return list
}
//Delete Data
fun deleteData() {
val db = this.writableDatabase
db.delete(TABLE_NAME, null, null)
db.close()
//Update Data
fun updateData() {
val db = this.writableDatabase
val query = "Select * from " + TABLE_NAME
val result = db.rawQuery(query, null)
if (result.moveToFirst() ){
do {
var cv = ContentValues()
cv.put(COL_AGE,result.getInt(2)+1)
db.update(TABLE_NAME,cv, COL_ID + "=? AND " + COL_NAME
+ "=?",
arrayOf(result.getString(0),
result.getString(1)))
}while (result.moveToNext())
}
result.close()
db.close()
}
}
btn_insert.setOnClickListener ({
if(etvName.text.toString().length > 0 &&
etvAge.text.toString().length > 0){
var user = User(etvName.text.toString(),
etvAge.text.toString().toInt())
db.insertData(user)
} else {
Toast.makeText(context,"Please Fill All Data's",
Toast.LENGTH_SHORT).show()
}
})
btn_read.setOnClickListener ({
var data = db.readData()
tvResult.text =""
for (i in 0.. (data.size-1)) {
tvResult.append(data.get(i).id.toString() + " " +
data.get(i).name + " " + data.get(i).age + "\n")
}
})
btn_update.setOnClickListener ({
db.updateData()
btn_read.performClick()
})
btn_delete.setOnClickListener ({
db.deleteData()
btn_read.performClick()
})
}
}
a. Ketika tombol read di klik akan muncul hasil data yang sudah di inputkan