我为在数据库中获取数据而编写的函数返回为空.数据库中有数据.扑腾着



==========小部件库捕获异常=======================================================生成Notlar时引发了以下NoSuchMethodError(脏,状态:_NotlarState#20db1):方法"notListsiniGetir"是在null上调用的。接收方:空尝试调用:notListsiniGetir()

照片-3代码:

[Future<int> kategoriSil(int kategoriID) async {
var db= await _getDatabase();
var sonuc= await db.delete("kategori",  where: 'kategoriID= ?', whereArgs: [kategoriID]);
return sonuc;
}
Future<List<Map<String, dynamic>>> notlariGetir() async {
var db = await _getDatabase();
var sonuc= await db.rawQuery('select * from "not" inner join kategori on kategori.kategorID = "not".kategoriID;');
return sonuc;
}
Future<List<Not>> notListesiniGetir() async{
var notlarMapListesi = await notlariGetir();
var notListesi = List<Not>();
for(Map map in notlarMapListesi){
notListesi.add(Not.fromMap(map));
}
return notListesi;
}][1]

错误代码:=============小部件库捕获到异常=======================================================生成Notlar时引发了以下NoSuchMethodError(脏,状态:_NotlarState#20db1):方法"notListsiniGetir"是在null上调用的。接收方:空尝试调用:notListsiniGetir()

导致错误的相关小部件是:Notlarfile:///C:/Flutter%20calismalari/not_sepeti/lib/main.dart:63:27当抛出异常时,这是堆栈:#0 Object.noSuchMethod(dart:core-patch/Object_patch.dart:54:5)#1 _NotlarState.build(包:not_sepeti/main.dart:166:30)#2 StatefulElement.build(包:flutter/src/widgets/framework.dart:4802:27)#3 ComponentElement.performRebuild(包:flutter/src/widgets/framework.dart:4685:15)#4 StatefulElement.performRebuild(包:flutter/src/widgets/framework.dart:4857:11)…

在此处输入图像描述Bwg.png

问题不在代码中,而在屏幕截图中(您应该将其作为代码片段添加到问题中)。

您必须等待条件snapshot.hasData

的变化

If (snapshot.connectionState == ConnectionState.done)

If (snapshot.connectionState == ConnectionState.done && snapshot.hasData)

还有

var notListesi = List<Not>()
List<Not> notListesi = <Not>[ ]; // better

更重要的是,在初始化状态下删除DatabaseHelper

DatabaseHelper databaseHelper = DatabaSeHelper();

databaseHelper = DatabaseHelper();

它会起作用的。

最新更新