+-
Sqlite表在小米Note 7s上不创建,但在其他手机和Android Studio中的虚拟设备上创建。

我不知道为什么会发生这种情况,但当我执行代码时,没有在红米Note 7s上创建表,但在GIONEE智能手机和虚拟设备上工作正常。

package com.example.attendance;

import android.content.Context;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;

import androidx.annotation.Nullable;

public class Databases extends SQLiteOpenHelper {

    public static  final String dbname = "AttendanceDb11";

    public Databases(@Nullable Context context) {
        super(context, dbname, null, 5);
    }

    @Override
    public void onCreate(SQLiteDatabase db) {
        String CREATE_TABLE = "CREATE TABLE IF NOT EXISTS Student12 ( _id INTEGER PRIMARY KEY 
        AUTOINCREMENT, Name Text)";
        db.execSQL(CREATE_TABLE);
    }

    @Override
    public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
            db.execSQL("Drop table if exists Student12");
            onCreate(db);
    }
}
0
投票

有可能你的设备已经有了 AttendanceDb11 版本1,但没有表。卸载你的应用程序以摆脱旧的数据库版本。

尝试更改数据库名称

public static  final String dbname = "AttendanceDb11.bd";

而不是

public static  final String dbname = "AttendanceDb11";

当你创建数据库和表时,应该会出现错误。请粘贴该错误。