以下代码从数据库中获取对应数据,该怎么写 ! final List<String> _firstLevelList = ['材料采购', '加工费', '运费', '矫平','开票','电镀']; final Map<String, List<String>> _secondLevelMap = { '材料采购': ['光业金属', '龙兴金属1', '龙兴金属2', '中鼎金属'], '加工费': ['钜锴', '鸿福', '鑫柯锐', '楚钢'], '运费': ['顺丰', '德邦', '联昊通', '信丰'], '矫平': ['九重',], '开票': ['光业', '鸿福','卓成达'], '电镀': ['恒锋'], };
时间: 2023-08-20 12:45:52 浏览: 163
Android学习笔记-保存数据到SQL数据库中(Saving Data in SQL Databases)
你需要使用MySQL数据库相关的库(如sqflite)连接到数据库,并执行查询语句来获取对应数据。以下是一个简单的示例代码,该代码从MySQL数据库中获取对应数据并将其存储到_firstLevelList和_secondLevelMap中。
```dart
import 'package:mysql1/mysql1.dart';
final List<String> _firstLevelList = [];
final Map<String, List<String>> _secondLevelMap = {};
Future<void> fetchDataFromDatabase() async {
final conn = await MySqlConnection.connect(ConnectionSettings(
host: 'your host',
port: 3306,
user: 'your username',
password: 'your password',
db: 'your database name',
));
final results = await conn.query('SELECT * FROM your_table_name');
for (var row in results) {
final category = row['category'] as String;
final subcategory = row['subcategory'] as String;
if (!_firstLevelList.contains(category)) {
_firstLevelList.add(category);
_secondLevelMap[category] = [];
}
_secondLevelMap[category].add(subcategory);
}
await conn.close();
}
```
在上面的代码中,fetchDataFromDatabase函数使用MySQL1库连接到MySQL数据库,并执行查询语句。查询结果存储在results中,然后逐行处理结果并将数据存储到_firstLevelList和_secondLevelMap中。
注意:在实际应用中,你需要根据自己的实际情况修改上面的代码,包括连接MySQL数据库的相关信息、查询语句等。
阅读全文