我在访问我的表时遇到问题,但无法知道问题出在哪里。该表在 Table_xx 中的SQL select *中很好地存在。
我不知道没有这样的表错误消息是否真的是缺少表的问题...
class DBLocal(context: Context, name: String?, factory: SQLiteDatabase.CursorFactory?, version: Int) : SQLiteOpenHelper(context, DATABASE_NAME, factory, DATABASE_VERSION)
{
override fun onCreate(db: SQLiteDatabase)
{
print(DATABASE_NAME)
}
override fun onUpgrade(db: SQLiteDatabase, oldVersion: Int, newVersion: Int)
{
}
fun methodToSelectData(strQuery: String)/*, completion: @escaping (_ result:*/
{
print("test")
val list = ArrayList<String>()
val db = this.readableDatabase
val c = db.rawQuery(strQuery, null)
if (c.moveToFirst()) {
do {
list.add(c.getString(c.getColumnIndexOrThrow("lng")))
} while (c.moveToNext())
}
c.close()
db.close()
}
fun methodToInsertUpdateDeleteData(strQuery: String)/*, completion: @escaping (_ result: Bool) -> Void)*/
{
}
companion object {
private val DATABASE_VERSION = 1
private val DATABASE_NAME = "Local.db"
}
谢谢。
答案 0 :(得分:1)
使用SQLiteOpenHelper
,您需要在onCreate()
覆盖中编写代码,以执行创建所需表的SQL。您的实现只显示数据库名称,而留下一个空数据库且没有表。
在此处添加SQL后,您可以卸载应用一次,以删除旧的空数据库并再次触发onCreate()
。
答案 1 :(得分:1)