希望有人能提供帮助-几周前,我走到了穷途末路,并认为我已经尽我所能尝试了一切。
我已经建立了一个工作正常的数据库-也就是说,我可以在一个屏幕上添加数据,查看数据并在另一屏幕上编辑数据。现在,我想对控制台中的“ debugPrint”中已证明的列(牛肉)进行汇总。我想从“ sumBeef”方法访问此变量“ beefTotal”,并在用户界面的文本字段中进行显示。我只是无法管理它。它只是返回null。
在此先感谢您的帮助。
import 'package:flutter/material.dart';
import 'package:take_note/utils/database_helper.dart';
class Info extends StatefulWidget {
@override
State<StatefulWidget> createState() => _InfoState();
}
DatabaseHelper helper = DatabaseHelper();
var database = DatabaseHelper();
class _InfoState extends State<Info> {
List beefTotal;
@override
Widget build (BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Beef Info"),backgroundColor: Colors.lightBlueaccent,),body: Container(
child: Column(
children: <Widget>[
Expanded(
child: Center(
child: RaisedButton(
onpressed: (){
sumBeef();
},Expanded(
child: Center(
child: Text("Total Beef is: £ $beefTotal",style: TextStyle(
color: Colors.lightBlueaccent,fontSize: 30.0,fontWeight: FontWeight.w400
),],)
);
}
void sumBeef () async {
beefTotal = await database.addBeef();
debugPrint("Total beef: $beefTotal");
}
}
下面的代码来自一个名为DatabaseHelper的类,该方法sumBeef()使用了
Future<List<Map<String,dynamic>>> addBeef()async{
Database db = await this.database;
var result = await db.rawQuery("SELECT SUM(beef) FROM $table");
return result;
}
```[enter image description here][1]
[1]: https://i.stack.imgur.com/L46Gj.png