From f8f3450b737ea3ff85e5c2f5267f8d2d30a4f778 Mon Sep 17 00:00:00 2001 From: Mark Kors Date: Tue, 11 Nov 2025 10:48:43 +0100 Subject: [PATCH] first commit --- README.md | 130 +++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 129 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index ac4bce1..5350af0 100644 --- a/README.md +++ b/README.md @@ -1 +1,129 @@ -# SQLite_test \ No newline at end of file +# SQLite_test + +Een WPF desktop applicatie voor het beheren van gebruikersgegevens met SQLite database ondersteuning. + +## Beschrijving + +Dit project is een demonstratie-applicatie die laat zien hoe je SQLite kunt integreren in een WPF-applicatie voor het uitvoeren van CRUD-operaties (Create, Read, Update, Delete). De applicatie biedt een eenvoudige gebruikersinterface voor het toevoegen en verwijderen van gebruikersgegevens uit een lokale SQLite database. + +## Technologieën + +- **.NET 8.0** - Target framework +- **WPF (Windows Presentation Foundation)** - UI framework +- **SQLite** - Lokale database +- **System.Data.SQLite** (versie 1.0.119) - SQLite ADO.NET provider + +## Projectstructuur + +``` +SQLite_test/ +├── SQLite_test/ +│ ├── Classes/ +│ │ ├── Crud.cs # Basis class voor database operaties +│ │ └── User.cs # User class met CRUD functionaliteit +│ ├── MainWindow.xaml # UI definitie +│ ├── MainWindow.xaml.cs # UI code-behind +│ ├── App.xaml # Applicatie configuratie +│ └── SQLite_test.csproj # Project bestand +└── README.md +``` + +## Functionaliteit + +- **Database Connectie**: Automatische verbinding met een lokale SQLite database (`mydatabase.db`) +- **Tabel Aanmaken**: Automatische aanmaak van de `Users` tabel indien deze nog niet bestaat +- **Gebruiker Toevoegen**: Voeg nieuwe gebruikers toe aan de database met naam en leeftijd +- **Gebruiker Verwijderen**: Verwijder gebruikers op basis van ID (in ontwikkeling) + +### Database Schema + +De applicatie gebruikt een `Users` tabel met de volgende structuur: + +| Kolom | Type | Beschrijving | +|-------|---------|------------------------| +| Id | INTEGER | Primary key (auto-increment) | +| Name | TEXT | Naam van de gebruiker | +| Age | INT | Leeftijd van de gebruiker | + +## Installatie + +### Vereisten + +- Windows besturingssysteem +- .NET 8.0 SDK of hoger +- Visual Studio 2022 (aanbevolen) of Visual Studio Code + +### Stappen + +1. Clone de repository: + ```bash + git clone + cd SQLite_test + ``` + +2. Open de solution: + ```bash + SQLite_test.sln + ``` + +3. Restore NuGet packages: + ```bash + dotnet restore + ``` + +4. Build het project: + ```bash + dotnet build + ``` + +5. Run de applicatie: + ```bash + dotnet run --project SQLite_test + ``` + +## Gebruik + +1. Start de applicatie +2. De database verbinding wordt automatisch tot stand gebracht +3. Gebruik de **Add** knop om een nieuwe gebruiker toe te voegen +4. Gebruik de **Delete** knop om een gebruiker te verwijderen (voer het ID in wanneer gevraagd) + +## Development + +### CRUD Class Structuur + +De applicatie gebruikt een object-georiënteerde benadering met een basis `Crud` class die geërfd wordt door de `User` class: + +- **Crud.cs**: Bevat de database connectie en basis CRUD methoden +- **User.cs**: Erft van `Crud` en biedt user-specifieke operaties + +### Uitbreidingsmogelijkheden + +De applicatie kan uitgebreid worden met: +- Read operaties om gebruikers weer te geven in een DataGrid +- Update functionaliteit voor het bewerken van gebruikersgegevens +- Input validatie en error handling +- Data binding voor dynamische UI updates +- Zoek- en filterfunctionaliteit + +## Database Bestand + +De SQLite database wordt automatisch aangemaakt als `mydatabase.db` in de applicatie directory bij de eerste run. + +## Troubleshooting + +**Database connectie mislukt:** +- Controleer of de applicatie schrijfrechten heeft in de directory +- Check de Debug output voor specifieke foutmeldingen + +**Build errors:** +- Zorg dat .NET 8.0 SDK is geïnstalleerd +- Restore NuGet packages met `dotnet restore` + +## Licentie + +Dit is een test/demonstratie project. + +## Auteur + +Mark K