当我插入Sqlite时说“插入”时,我试图将数据插入Sqlite中,但是当我尝试对其中的数据进行修饰但数据库中没有数据时,我也检查了sqlite浏览器表中是否创建了但未插入数据< / p>
这是我的代码
fun inserData(user: User) {
var database = writableDatabase
var values = ContentValues()
if (user.Description.equals("CLOTHES")) {
values.put("TEXT", "${user.Category}")
values.put("IMAGE", "${user.Image}")
if (values !== null) {
Toast.makeText(ctx, "Inserted", Toast.LENGTH_SHORT).show()
database.insert(Cloth,null,values)
}
}
database.close()
}
关注数据
fun ClothData(): ArrayList<User> {
var clothData = ArrayList<User>()
var db = readableDatabase
var cursor = db.rawQuery("SELECT*FROM $Cloth", arrayOf())
if (cursor !== null && cursor.moveToFirst()) {
do {
var user = User()
user.Description = cursor.getString(cursor.getColumnIndex("TEXT"))
user.Image = cursor.getBlob(cursor.getColumnIndex("IMAGE"))
clothData.add(user)
} while (cursor.moveToNext())
}
return clothData
}
答案 0 :(得分:0)
SQLiteDatabase.insert不保证插入行。您需要检查返回值> 0。
我总是使用insertOrThrow()来更好地捕获约束错误之类的异常。
答案 1 :(得分:0)
在您的插入方法中显示吐司存在问题。如果没有将数据插入database
中。 Toast
将显示成功。
尝试一下
如果数据插入成功与否,它将返回true/false
。
fun addTask(tasks:Tasks): Boolean {
val db = this.writableDatabase
val values = ContentValues()
values.put(NAME, tasks.name)
values.put(DESC, tasks.desc)
values.put(COMPLETED, tasks.completed)
val _success = db.insert(TABLE_NAME, null, values)
db.close()
return (Integer.parseInt("$_success") != -1)
}