如何将数据分离到不同的数据库中?
Posted
技术标签:
【中文标题】如何将数据分离到不同的数据库中?【英文标题】:How to separate data into different databases? 【发布时间】:2021-12-23 19:16:22 【问题描述】:我有一个数据库,我想在其中添加和存储有关特定目的地或活动的信息。在插入信息页面中,我有一个部分,用户可以在其中选择目标或活动作为其类别。但是,所有这些都存储在一个数据库中,但我希望每个数据库都有不同的。
这是将它们添加到一个数据库中的当前代码:
void addDestOrAct(String name, String details, var category)
String key = destdatabaseref
.child('Database')
.child('DestinationsandActivities')
.push()
.key;
destdatabaseref
.child('Database')
.child('DestinationsandActivities')
.child(name)
.set(
'id': key,
'name': name,
'description': details,
'category': category
);
nameController.clear();
descriptionController.clear();
Fluttertoast.showToast(
timeInSecForiosWeb: 4,
gravity: ToastGravity.CENTER,
msg: "It has been added!");
Navigator.pop(context);
我想输入 if (category = 'Activity')
之类的内容,然后添加到 destdatabaseref.child('Database').child('Activities')
而不是 .child('DestinationsandActivities')
。
类别选择和插入数据代码:
Padding(
padding: const EdgeInsets.only(right: 290),
child: Text(
'Category :',
style: TextStyle(fontSize: 15, color: Colors.grey),
),
),
SizedBox(height: 13),
Container(
height: 40,
child: ListView(
scrollDirection: Axis.horizontal,
children: [
_categoryType('Destination'),
SizedBox(width: 10),
_categoryType('Activity'),
],
),
),
SizedBox(height: 40),
ElevatedButton(
style: ElevatedButton.styleFrom(
primary: Color(0xFF3d5a89),
padding:
EdgeInsets.symmetric(horizontal: 45, vertical: 10),
textStyle: TextStyle(
fontWeight: FontWeight.w500,
color: Colors.white,
fontSize: 15)),
onPressed: ()
if (_formKey.currentState!.validate())
if (nameController.text.isNotEmpty &&
descriptionController.text.isNotEmpty)
addDestOrAct(nameController.text,
descriptionController.text, _categorySelected);
else
return null;
,
child: Text('Add')
)
类别类型小部件代码:
Widget _categoryType(String title)
return InkWell(
child: Container(
height: 70,
width: 120,
decoration: BoxDecoration(
color: _categorySelected == title
? Color(0xFF5a893d)
: Color(0xFF3d5a89),
borderRadius: BorderRadius.circular(15),
),
child: Center(
child: Text(
title,
style: TextStyle(fontSize: 13, color: Colors.white),
),
),
),
onTap: ()
setState(()
_categorySelected = title;
);
,
);
如何根据类别将信息添加到不同的数据库中?我现在有数据库'DestinationsandActivities'
,但我更希望它是'Destinations'
和'Activities'
。
【问题讨论】:
"我想输入类似if (category = 'Activity')
的内容,然后添加到destdatabaseref.child('Database').child('Activities')
而不是.child('DestinationsandActivities')
。"这听起来很合理。你在实现这个时遇到了什么问题?
我不知道该放什么样的条件! if 条件需要一个布尔值,那么我该如何正确编写 _categoryType('Activity') = true
呢?我确实写了,但我收到错误Missing selector such as '.identifier' or '[0]'.
。
你试过if (category == 'Activity')
吗?
哇,谢谢。有效!这对我来说是一个愚蠢的忽视。
【参考方案1】:
感谢@Frank van Puffelen,这很简单:
if (category == 'Activity')
//code here
);
if (category == 'Destination')
//code here
);
【讨论】:
以上是关于如何将数据分离到不同的数据库中?的主要内容,如果未能解决你的问题,请参考以下文章