Sqflite Database Data Saved (Create) in the Table with Flutter

 import "package:flutter/material.dart";

import "package:sqflite/sqflite.dart";
import "package:path/path.dart";

/// Sqflite Database : Below code is for creating database tables and save data in the database
/// as shown below.

void main()
{
runApp(const MyApp());
}
class MyApp extends StatelessWidget
{
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: "Sqflite Data Saved in the Database",
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.grey,
),
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget
{
const HomePage({super.key});
@override
State<HomePage> createState()
{
return HomePageState();
}
}
class HomePageState extends State<HomePage>
{
final TextEditingController _controller = TextEditingController();

final _formKey = GlobalKey<FormState>();

late Future<Database> _database;

@override
void initState()
{
super.initState();
_openDatabase();
}

Future<void> _openDatabase() async {
_database = openDatabase(join(await getDatabasesPath(), "example_database.db"),
onCreate: (db, version) {
return db.execute("CREATE TABLE users(id INTEGER PRIMARY KEY, name TEXT)");
},
version: 1,
);
}

Future<void> _insertUser(String name) async {
final Database db = await _database;

await db.insert(
"users",
{
"name" : name,
},
conflictAlgorithm: ConflictAlgorithm.replace,
);
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text("Sqflite Database Flutter"),
centerTitle: true,
backgroundColor: Colors.grey,
),
body: Center(
child: Form(
key: _formKey,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextFormField(
controller: _controller,
decoration: const InputDecoration(
labelText: "Enter Username",
),
validator: (value) {
if(value!.isEmpty)
{
return "Please enter some text";
}
return null;
},
),
const SizedBox(height: 20.0),
ElevatedButton(
onPressed: () {
if(_formKey.currentState!.validate())
{
_insertUser(_controller.text);
_controller.clear();
ScaffoldMessenger.of(context).showSnackBar(
const SnackBar(content: Text("User inserted Successfully"),),
);
}
},
style: ElevatedButton.styleFrom(
backgroundColor: Colors.blue,
),
child: const Text("Submit data",
style: TextStyle(fontWeight: FontWeight.bold, color: Colors.white),
),
),
],
),
),
),
);
}
}

Comments

Popular posts from this blog

Second GET API Calling with Bloc simple Example in Flutter

Stack Container Scrollable Card widget UI with Custom Widget

Pagination with Bloc Pattern in Flutter