Skip to content

MAGS-Template/H2-Eksempler

Repository files navigation

H2-Eksempler med Blazor, API & ADO.NET

Eksempler til Blazor, API & ADO.NET - Læs mere om ADO.NET her Notion ADO.NET, om Blazor her Notion Blazor og API tekonologier her Notion API Enten skal man manuelt sætte databasen op eller starte med at køre consol applikationen en gang.

Opbygning af projekt med ADO.NET

ADONETConsole

Her er en consoleapp, som implementeret meget lavpraktisk. Den bruger ikke et objekt, men bare 2 strenge til at integrerer med databasen. Den indeholder 4 metoder udover main() og Init().
CreateDatabase her tjekker den om ADONET databasen allerede findes på vores databaseserver eller laver den databasen.
InsertData her indsætter den værdierne som er skrevet ind for de 2 strenge inden programmet kører.
CreateTable her laver den vores tabel med en SQL kommando som er gemt som en streng.
ReadData her læser den databasen ud fra SQL kommando som er gemt som en streng og bruger et while loop til at skrive dem ud i konsollen.

BlazorADONET

Her er en Blazor applikation som gør brug af samme database og tabel som er blevet oprettet af vores Consolapp. Derfor skal den anden applikation startes inden Blazor virker.
Under projektet er der 2 forskellige Razor pages som kommunikere med databasen.

CRUD.razor

Under den her side er alt koden inkluderet, der er normalt dårlig praksis, men det er for at vise udviklingen. Det eneste vi har saperet er at vores klasser er inde i et Class Libary kaldet Domain Models. Standart siden er meget simpel med 2 input felter og en knap med en eventhandler. Her indefra er der defineret 4 metoder til at håndtere hver CRUD operation.
Create bliver håndteret af InsertData()
Read bliver håndteret af ReadData()
Update bliver håndteret af EditData(int personID)
Delete bliver håndteret af DeleteData(int personID)

Select.razor

Her er koden mere struktureret end på CRUD.razor filen. Vi har lagt alt vores database logik ind i Services mappen. Den giver en del mere konfigurering i starten af filen.
Udover at vi skal bruge "@using Domain_Models" for at få adgang til vores Person-klasse. Skal vi også have adgang til Services mappen som vi gør med "@using BlazorADONET.Services". For at få adgang til vores services, skal vi også bruge dependency injection her "@inject IDatabaseService DatabaseService"

Vores DatabaseService har 2 metoder som vi gør brug af.

SearchPersons(string selectedOption, string searchValue) her kan vi søge en specifik person op i vores database ud fra de kolonner som der findes i databasen. Fordi at vi bruger ADO.NET er det ikke et problem med SQL Injection.

GetColumnNames() her bruger vi det indbyggede ["COLUMN_NAME"] til at få en liste med alle kolonne værdi, så vi senere kan bruge dem i vores dropdown menu!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published