Forked from an inaccessible project.
-
Thi Huyen Trang Nguyen authoredThi Huyen Trang Nguyen authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
database_provide.dart 2.86 KiB
import 'package:path/path.dart';
import 'package:rescueapp/model-patient/patient.dart';
import 'package:sqflite/sqflite.dart';
import 'package:sqflite/sqlite_api.dart';
//Einige asynchronous Operationen sind:
// Daten über ein Netzwerk abrufen
// Eine Datenbank zu schreiben
//Asynchronisierung
// Daten aus einem File lesen: Async means that this function is asynchronous and you might need to wait a bit to get its result.
// Await literally means - wait here until this function is finished and you will get its return value.
class DatabaseProvider {
static const String TABLE_PATIENT = "patient";
static const String COLUMN_ID = "id";
static const String COLUMN_NAME = "name";
static const String COLUMN_BIRTHDAY = "geburtsdatum";
static const String COLUMN_ISAMBILATORY = "isGehfähig";
static const String COLUMN_IMAGEPATH = "imagePath";
static const String COLUMN_CATEGORIE = "category";
// Constructor
DatabaseProvider._();
static final DatabaseProvider db = DatabaseProvider._();
Database _database;
Future <Database> get database async {
print("database getter called");
if (_database != null) {
return _database;
}
_database = await createDatabase();
return _database;
}
Future<Database> createDatabase() async {
String dbPath = await getDatabasesPath();
return await openDatabase(
join(dbPath, 'patientDB.db'),
version: 1,
onCreate: (Database database, int version) async {
print("Creating patient table");
await database.execute(
"CREATE TABLE $TABLE_PATIENT ("
"$COLUMN_ID INTEGER PRIMARY KEY,"
"$COLUMN_NAME TEXT,"
"$COLUMN_BIRTHDAY TEXT,"
"$COLUMN_ISAMBILATORY INTEGER,"
"$COLUMN_IMAGEPATH STRING,"
"$COLUMN_CATEGORIE STRING,"
")",
);
},
);
}
Future<List<Patient>> getPatients() async {
final db = await database;
var patients = await db
.query(TABLE_PATIENT, columns: [COLUMN_ID, COLUMN_NAME, COLUMN_IMAGEPATH,COLUMN_BIRTHDAY, COLUMN_ISAMBILATORY, COLUMN_CATEGORIE]);