我的應用程式將成功構建 SQLite 資料庫并插入資料,但是在查看時除了列標題之外它是空的。
清單中的權限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
QuoteDatabaseHandler創建列ID和QUOTE:
val QUOTEDATABASE = "QUOTE DATABASE"
val QUOTETABLE = "QUOTE_TABLE"
val COL_ID = "ID"
val COL_QUOTE = "QUOTE"
class QuoteDatabaseHandler (context: Context) : SQLiteOpenHelper (context, QUOTEDATABASE, null, 4) {
override fun onCreate(db: SQLiteDatabase?) {
val createTable = ("CREATE TABLE $QUOTETABLE (COL_ID INTEGER PRIMARY KEY AUTOINCREMENT,COL_QUOTE TEXT)")
db?.execSQL(createTable)}
插入功能:
fun insertQuote (quote:String){
val database = this.writableDatabase
val contentValues = ContentValues()
contentValues.put(COL_ID, 1)
contentValues.put(COL_QUOTE, quote)
database.insert(QUOTETABLE, null, contentValues)
database.close() }
dbHelper在 內呼叫Oncreate:
val dbHelper = QuoteDatabaseHandler(this)
連同插入方法:
dbHelper.insertQuote("Example Quote 1")
uj5u.com熱心網友回復:
您的 CREATETABLE陳述句是錯誤的,因為它創建的表包含名為COL_IDand的列,COL_QUOTE而不是正確的名稱IDand QUOTE。
對列名使用字串插值:
val createTable = "CREATE TABLE $QUOTETABLE ($COL_ID INTEGER PRIMARY KEY AUTOINCREMENT, $COL_QUOTE TEXT)"
您還必須從設備上卸載應用程式并重新運行以使用正確的列名重新創建表。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/510196.html
