我有问题访问我的表,但不可能知道问题出在哪里。该表存在于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"
}
提前致谢。
使用SQLiteOpenHelper
,您需要在onCreate()
覆盖中编写代码来执行创建所需表的SQL。您的实现只打印数据库名称,为您留下一个空数据库而没有表。
在那里添加SQL之后,您可以卸载应用程序一次以删除旧的空数据库并再次触发onCreate()
。