init commit
This commit is contained in:
148
lib/TryPage.dart
Normal file
148
lib/TryPage.dart
Normal file
@@ -0,0 +1,148 @@
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:mysql_client/mysql_client.dart';
|
||||
import 'package:http/http.dart' as http;
|
||||
import 'package:topic/HomePage.dart';
|
||||
void main() {
|
||||
runApp(TryPage());
|
||||
}
|
||||
|
||||
class TryPage extends StatelessWidget {
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return MaterialApp(
|
||||
home: Scaffold(
|
||||
appBar: AppBar(
|
||||
title: Text('MySQL Data'),
|
||||
),
|
||||
body: MySqlData(),
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
class MySqlData extends StatefulWidget {
|
||||
@override
|
||||
_MySqlDataState createState() => _MySqlDataState();
|
||||
}
|
||||
|
||||
class _MySqlDataState extends State<MySqlData> {
|
||||
List<Map<String, dynamic>> _results = [];
|
||||
|
||||
@override
|
||||
void initState() {//初始化
|
||||
super.initState();
|
||||
_fetchData();//連資料庫
|
||||
}
|
||||
|
||||
void _fetchData() async {
|
||||
print('connect');
|
||||
|
||||
final conn = await MySQLConnection.createConnection(
|
||||
host: '203.64.84.154',
|
||||
port: 33061,
|
||||
userName: 'root',
|
||||
password: 'Topic@2024',
|
||||
databaseName: 'care',
|
||||
);
|
||||
await conn.connect();
|
||||
|
||||
try {
|
||||
var result = await conn.execute('SELECT eName, eGender FROM Elder');
|
||||
print('Result: ${result.length} rows found.');
|
||||
|
||||
if (result.rows.isEmpty) {//null
|
||||
print('No data found in users table.');
|
||||
}
|
||||
else {
|
||||
setState(() {
|
||||
_results = result.rows.map((row) =>
|
||||
{
|
||||
'name': row.colAt(0),
|
||||
'gender': row.colAt(1)
|
||||
} //colat的參數是看select進來的參數
|
||||
).toList();
|
||||
});
|
||||
}
|
||||
}
|
||||
catch (e) {
|
||||
print('Error: $e');
|
||||
}
|
||||
finally{
|
||||
await conn.close();
|
||||
}
|
||||
}
|
||||
|
||||
//頁面
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
return ListView.builder(
|
||||
itemCount: _results.length,
|
||||
itemBuilder: (context, index) {
|
||||
final user = _results[index];
|
||||
return ListTile(
|
||||
title: Text(user['name']),
|
||||
subtitle: Text('gender: ${user['gender']}'),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
//server=203.64.84.154;database=care;uid=root;password=Topic@2024;port = 33061";
|
||||
/*
|
||||
// 创建数据库连接对象
|
||||
final conn = await Connection.connect(settings);
|
||||
|
||||
// 执行SQL查询语句
|
||||
final result = await conn.query('SELECT * FROM users');
|
||||
|
||||
// 处理查询结果
|
||||
for (final row in result) {
|
||||
print('${row[0]} - ${row[1]} - ${row[2]}');
|
||||
}
|
||||
|
||||
// 执行SQL插入语句
|
||||
final insertResult = await conn.execute('INSERT INTO users (name, age) VALUES (?, ?)', ['John', 30]);
|
||||
|
||||
// 处理插入结果
|
||||
print('Inserted rows: ${insertResult.affectedRows}');
|
||||
|
||||
// 执行SQL更新语句
|
||||
final updateResult = await conn.execute('UPDATE users SET age = ? WHERE name = ?', [35, 'John']);
|
||||
|
||||
// 处理更新结果
|
||||
print('Updated rows: ${updateResult.affectedRows}');
|
||||
|
||||
// 执行SQL删除语句
|
||||
final deleteResult = await conn.execute('DELETE FROM users WHERE name = ?', ['John']);
|
||||
|
||||
// 处理删除结果
|
||||
print('Deleted rows: ${deleteResult.affectedRows}');
|
||||
|
||||
// 关闭数据库连接
|
||||
conn.close();
|
||||
}*/
|
||||
Reference in New Issue
Block a user