如何在我的文本小部件中显示总价
How show total price in my text widget in flutter
我想用 tezt 小部件在 flutter ui 中显示总价。我尝试了原始查询
var sonuc=await db.rawQuery("SELECT SUM(gelirTutar) FROM gelirIslem");
它返回了 QueryResultSet 结果 [{SUM(gelirTutar): 70.0}] 并且它正在出错未处理的异常:类型 'List>' 不是类型 'String'[=13= 的子类型]
如何在文本小部件中显示“70.0”数据
这段代码是我的求和方法
Future gelirTopla()async{
var db=await _getDatabase();
var sonuc=await db.rawQuery("SELECT SUM(gelirTutar) FROM gelirIslem");
print("gelir:"+sonuc.toString());
return sonuc;
}
和此代码UI设计
class KasaIslem extends StatefulWidget {
@override
_KasaIslemState createState() => _KasaIslemState();
}
class _KasaIslemState extends State<KasaIslem> {
double toplamGelir;
DatabaseHelper databaseHelper;
@override
void initState() {
// TODO: implement initState
super.initState();
databaseHelper=DatabaseHelper();
setState(() {
gelirHesapla();
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Kasa İşlemleri"),
),
body: Column(
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
"Günlük Gelir:",
style: TextStyle(color: Colors.redAccent),
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
toplamGelir.toString(),
style: TextStyle(color: Colors.redAccent),
),
),
],
),
],
),
);
}
void gelirHesapla() async{
var toplam=await databaseHelper.gelirTopla();
setState(() {
print("ttt"+toplam.toList());
toplamGelir=toplam;
});
}
}
rawQuery
总是returns一个地图列表所以你需要把字符串提取出来。如果您将查询更新为:
var sonuc=await db.rawQuery("SELECT SUM(gelirTutar) as sum FROM gelirIslem");
那么结果应该是 [{sum: 70.0}]
所以你可以 sonuc.first["sum"]
来得到计数。
我想用 tezt 小部件在 flutter ui 中显示总价。我尝试了原始查询
var sonuc=await db.rawQuery("SELECT SUM(gelirTutar) FROM gelirIslem");
它返回了 QueryResultSet 结果 [{SUM(gelirTutar): 70.0}] 并且它正在出错未处理的异常:类型 'List>' 不是类型 'String'[=13= 的子类型]
如何在文本小部件中显示“70.0”数据
这段代码是我的求和方法
Future gelirTopla()async{
var db=await _getDatabase();
var sonuc=await db.rawQuery("SELECT SUM(gelirTutar) FROM gelirIslem");
print("gelir:"+sonuc.toString());
return sonuc;
}
和此代码UI设计
class KasaIslem extends StatefulWidget {
@override
_KasaIslemState createState() => _KasaIslemState();
}
class _KasaIslemState extends State<KasaIslem> {
double toplamGelir;
DatabaseHelper databaseHelper;
@override
void initState() {
// TODO: implement initState
super.initState();
databaseHelper=DatabaseHelper();
setState(() {
gelirHesapla();
});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text("Kasa İşlemleri"),
),
body: Column(
children: <Widget>[
Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
"Günlük Gelir:",
style: TextStyle(color: Colors.redAccent),
),
),
Padding(
padding: const EdgeInsets.all(8.0),
child: Text(
toplamGelir.toString(),
style: TextStyle(color: Colors.redAccent),
),
),
],
),
],
),
);
}
void gelirHesapla() async{
var toplam=await databaseHelper.gelirTopla();
setState(() {
print("ttt"+toplam.toList());
toplamGelir=toplam;
});
}
}
rawQuery
总是returns一个地图列表所以你需要把字符串提取出来。如果您将查询更新为:
var sonuc=await db.rawQuery("SELECT SUM(gelirTutar) as sum FROM gelirIslem");
那么结果应该是 [{sum: 70.0}]
所以你可以 sonuc.first["sum"]
来得到计数。