android - Android Sqlite,Toast 显示数据已插入但未插入
问题描述
我试图在惰性化时将数据插入到 Sqlite 中,它显示“已插入”,但是当我尝试在那里提取数据但数据库中没有数据时,我还检查了创建的 sqlite 浏览器表但未插入数据
这是我的代码
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
}
解决方案
SQLiteDatabase.insert 不承诺插入一行。您需要检查返回值 > 0。
我总是使用 insertOrThrow() 更好地捕获约束错误等异常。
推荐阅读
- python - 我应该实施哪种机器学习算法来检测文档类型?
- angular - 如何返回所有用户
- android - Flutter:使用来自 flutter_webrtc 的纹理在 firebase_ml_vision 中进行图像处理
- nhibernate - 删除一对零或一个子记录不起作用
- python-3.x - 如何将值添加到缺失值 i
- python - 在 LibTorch 中运行从 PyTorch 训练和导出的模型时获得的不正确结果
- ios - 使用场景套件无法在场景背景中看到视频
- javascript - 当我将逻辑写入输入值包含数组时,我从 JSON 获取一个数组,从输入字段获取值,它总是返回 false
- r - 如何获得多个变量的连续排名
- ios - 如何通过使用通用链接知道用户正在进入应用程序