请用支持flutter的代码输出
时间: 2024-02-23 22:01:07 浏览: 16
当然可以,以下是支持Flutter的代码示例:
```dart
import 'package:flutter/material.dart';
import 'package:mysql1/mysql1.dart';
class MySQLDemo extends StatefulWidget {
@override
_MySQLDemoState createState() => _MySQLDemoState();
}
class _MySQLDemoState extends State<MySQLDemo> {
List<Map<String, dynamic>> _results = [];
@override
void initState() {
super.initState();
_queryData();
}
Future<void> _queryData() async {
// 连接到 MySQL 数据库
var settings = new ConnectionSettings(
host: 'localhost',
user: 'root',
password: 'password',
db: 'test'
);
var conn = await MySqlConnection.connect(settings);
// 执行查询语句
var results = await conn.query('SELECT * FROM table');
// 将查询结果转换为 list<map> 数据类型
_results = results.map((e) => e.fields).toList();
// 关闭数据库连接
await conn.close();
// 通知 Flutter 刷新界面
setState(() {});
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('MySQL Demo'),
),
body: ListView.builder(
itemCount: _results.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(_results[index]['name']),
subtitle: Text(_results[index]['age'].toString()),
);
},
),
);
}
}
```
在以上代码中,我们使用了mysql1库来连接MySQL数据库,并执行查询语句。通过将查询结果转换为list<map>数据类型,我们可以方便地在Flutter中进行处理和展示。最终,我们将查询结果展示在ListView中,每一行显示一条记录的name和age字段。