我用以下函数创建了我的数据库:
void CreateDatabase() async {
database = await openDatabase(
'todo.db',
version: 1,
onCreate: (database, version) {
print('database is created ');
database
.execute(
'CREATE TABLE tasks(id INTEGER PRIMARY KEY , title TEXT, date TEXT , time TEXT , Status Text )')
.then((value) {
print('table created');
}).catchError((error) {
print('error when creating table ${error.runtimeType}');
});
},
onOpen: (database) {
print('database is opned ');
},
);
}当然,在pubspec.yaml中安装依赖项之后
dependencies:
flutter:
sdk: flutter
sqflite: ^1.3.0然后,我调用了函数CreateDatabase();,但是出现了这个错误:
Error: MissingPluginException(No implementation found for method getDatabasesPath on channel com.tekartik.sqflite)
at Object.throw_ [as throw] (http://localhost:41319/dart_sdk.js:5375:11)
at MethodChannel._invokeMethod (http://localhost:41319/packages/flutter/src/services/system_channels.dart.lib.js:1551:21)
at _invokeMethod.next (<anonymous>)
at http://localhost:41319/dart_sdk.js:39799:33
at _RootZone.runUnary (http://localhost:41319/dart_sdk.js:39656:58)
at _FutureListener.thenAwait.handleValue (http://localhost:41319/dart_sdk.js:34585:29)
at handleValueCallback (http://localhost:41319/dart_sdk.js:35170:49)
at Function._propagateToListeners (http://localhost:41319/dart_sdk.js:35208:17)
at _Future.new.[_completeWithValue] (http://localhost:41319/dart_sdk.js:35050:23)
at async._AsyncCallbackEntry.new.callback (http://localhost:41319/dart_sdk.js:35073:35)
at Object._microtaskLoop (http://localhost:41319/dart_sdk.js:39961:13)
at _startMicrotaskLoop (http://localhost:41319/dart_sdk.js:39967:13)
at http://localhost:41319/dart_sdk.js:35432:9我调用了浮动按钮内的函数:
floatingActionButton: FloatingActionButton(
onPressed: () {
CreateDatabase();
},
child: Icon(Icons.format_list_bulleted),
// fabIcon,
),我是否错过了创建数据库的任何一步?
发布于 2021-08-19 15:48:45
一个简单的flutter clean和flutter build应该修复它。
当依赖项没有嵌入到二进制文件中时,就会发生这种情况。
发布于 2022-03-01 09:43:11
Status column type Text wrong, right status TEXT也许
我更改您的代码,检查您的代码
https://stackoverflow.com/questions/68850850
复制相似问题