Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OnUpgrade SQFLITE:未处理的异常:DatabaseException(表UsernameTable没有名为rememberMe的列(Sqlite代码1):_Sqlite_Flutter_Dart_Flutter Dependencies_Sqflite - Fatal编程技术网

OnUpgrade SQFLITE:未处理的异常:DatabaseException(表UsernameTable没有名为rememberMe的列(Sqlite代码1):

OnUpgrade SQFLITE:未处理的异常:DatabaseException(表UsernameTable没有名为rememberMe的列(Sqlite代码1):,sqlite,flutter,dart,flutter-dependencies,sqflite,Sqlite,Flutter,Dart,Flutter Dependencies,Sqflite,未处理的异常:DatabaseException(表UsernameTable没有 名为rememberMe的列(Sqlite代码1):,编译时:插入或 替换为UsernameTable(username,rememberMe)值(?,),(OS 错误-2:没有此类文件或目录)sql“插入或替换到” UsernameTable(username,rememberMe)值(?,)参数[term@melfs, 1] } 我升级了我的数据库。我在UsernameTable表中添加了新列。但它不起作用。

未处理的异常:DatabaseException(表UsernameTable没有 名为rememberMe的列(Sqlite代码1):,编译时:插入或 替换为UsernameTable(username,rememberMe)值(?,),(OS 错误-2:没有此类文件或目录)sql“插入或替换到” UsernameTable(username,rememberMe)值(?,)参数[term@melfs, 1] }

我升级了我的数据库。我在
UsernameTable
表中添加了新列。但它不起作用。我在这个数据库中已经有这么多记录。我不能
删除
所以我如何向现有数据库添加新列。我使用了
Sqflite

 initDb() async {
    io.Directory documentsDirectory = await getApplicationDocumentsDirectory();
    String path = join(documentsDirectory.path, "HelperDatabase.db");
    var theDb = await openDatabase(path, version: 4, onCreate: _onCreate, onUpgrade: _onUpgrade);
    return theDb;
  }
OnUpgrade方法。

 void _onUpgrade(Database db, int oldVersion, int newVersion)async{
  if(oldVersion != 5){
      await db.execute("ALTER TABLE UsernameTable ADD COLUMN rememberMe INTEGER DEFAULT 0");
    }
  }
onCreate方法

  void _onCreate(Database db, int version) async {
 await db.execute("""CREATE TABLE UsernameTable(username STRING)""");
}

您在
oldVersion
newVersion
\u onUpgrade
)中得到了什么值。我猜
onUpgrade
中的查询没有被调用。如何调用onUpgrade?我在
initDB()
中添加了。请尝试在
openDatabase()中更改
version
5
或更高。您的数据库似乎出现了错误状况。我在代码中做了。不是吗?