Effectieve manier om data- te valideren in een CRUD

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Mijn vraag

Hallo ik heb bijna mijn eerste C# database app afgerond. Zie foto. via deze link https://snag.gy/nu9TmV.jpg
Ik zit met de onderstaande vragen ondanks een lange zoektocht op google net mijn handen in het haar. Vindt het leuk maar o-zooo iritant als je gewoon vastloopt |:(


Ik heb de volgende vragen;
- Hoe valideer ik de data-input van de groupbox fields wanneer Add button wordt geactiveerd?

- Hoe controleer ik appart of er nieuwe waarde ingevoerd worden tijdens het updaten via Update

- hoe combineer ik het updaten met het valideren van deze data. is het geupdate of dezelfde data, is de correcte data ingevoerd in het forumilier.

- Kent iemand een goed voorbeeld die aansluit of juist het voorbeeld is wat ik zoek? _/-\o_

- Welke programmeer oplossingen zijn efficient om in deze app te gebruiken gezien ik niet het wiel opnieuw wil uitvinden, en gelijktertijd veel waarde hecht om code te hergebruiken.

Ben benieuwd naar jullie inhoudelijke tips zodat ik mijn groei vasthoud. :)

Alle reacties


Acties:
  • 0 Henk 'm!

  • discy
  • Registratie: April 2008
  • Laatst online: 17-08 12:28

discy

Cloud Architect

Poe. Je stelt erg algemene vragen. Dus ik zal beginnen met algemene antwoorden, hopelijk zal het je in de goede (google) richting sturen.

- Hoe valideer ik de data-input van de groupbox fields wanneer Add button wordt geactiveerd?
Door in de on-click method van de add button de waarden van de groupboxes uit te lezen en de "add" pas uit te voeren als al deze waarden correct zijn.

- Hoe controleer ik appart of er nieuwe waarde ingevoerd worden tijdens het updaten via Update
Mijn eerste vraag zou zijn: waarom wil je weten welke specifieke waarden veranderd zijn?
Mijn tweede vraag: Wat gebruik je om je database te updaten. Een ORM zoals entityframework? Of doe je het met je eigen SQL statements?
Hoe dan ook:
Je hebt waarschijnlijk een database bron gebruikt om de groupbox te vullen.
Het makkelijkste is om de hele groupbox vervolgens weer de database in te schieten met een addorupdate statement waarbij je door elke rij heen-loopt, de huidige rij ophaalt en de waarden update als ze anders zijn. AddOrUpdate zit std in entityframework, anders kun je er genoeg SQL voorbeelden van vinden.

- hoe combineer ik het updaten met het valideren van deze data. is het geupdate of dezelfde data, is de correcte data ingevoerd in het forumilier.
Ik zou in de onclick van update alle waarden checken, als één van de waarden niet goed is. Het updaten in z'n geheel stoppen. Zodat je altijd weet, dat als je doorgaat, alle waarden van alle rijen correct zijn die je gaat gebruiken om te updaten.

- Kent iemand een goed voorbeeld die aansluit of juist het voorbeeld is wat ik zoek? _/-\o_
Ik kan je geen link geven, maar dit lijkt gewoon een "manage sql database table with groupbox control" zoek term.

- Welke programmeer oplossingen zijn efficient om in deze app te gebruiken gezien ik niet het wiel opnieuw wil uitvinden, en gelijktertijd veel waarde hecht om code te hergebruiken.
Wat je vraagt zijn relatief basale dingen. Mijn advies is, probeer het zo simpel mogelijk te houden en met zo min mogelijk code te bereiken wat je wilt hebben. Hoe simpeler, hoe minder onzekerheden en "rare" dingen je zult hebben.
Bijvoorbeeld: In plaats van te checken wat er veranderd is en alleen die rij te updaten, kun je ook de hele tabel leeggooien en de hele groupbox met inserts weer erin zetten. Hier kun je qua performance veel op inbrengen maar als het niet belangrijk is dat de id's hetzelfde blijven en je tabel niet enorm is, kan dit het heel overzichtelijk maken voor je.

Nb. Los van dit alles valt het me op dat je links invoervelden hebt gemaakt, die de groupbox rechts updaten, in plaats van dat je mensen gewoon in de groupbox laat schrijven. Het idee van een groupbox is dat je in de userinterface / in memory de hele tabel kunt klaarzetten. Een "Save" en "Cancel" button zou dan ook logischer zijn naar mijn inziens. Bij de Save zou je dan de tabel in de database updaten en dan wel een add of update uitvoeren doormiddel van je query.
Add zou dan alleen een rij in de userinterface toevoegen (als dat niet al automatisch gedaan wordt door de groupbox als je dubbel op de onderste rij klikt).
Dat geeft je ook de mogelijkheid om een "Cancel" te implementeren. Pas wegschrijven naar de database als er op "Save" geklikt wordt, en bij een "Cancel" de huidige staat van de database er terug in zetten.

Als jouw idee van die update is, dat je eerst een rij aanklikt rechts, die dan links geopend wordt, en je daarna op "Save" kunt klikken dan wordt het al complexer...

[ Voor 29% gewijzigd door discy op 07-07-2018 01:06 ]


Acties:
  • 0 Henk 'm!

  • Hydra
  • Registratie: September 2000
  • Laatst online: 21-08 17:09
- niet zo relevant -

[ Voor 89% gewijzigd door .oisyn op 07-07-2018 11:52 ]

https://niels.nu


Acties:
  • 0 Henk 'm!

  • farlane
  • Registratie: Maart 2000
  • Laatst online: 11-09 12:01
Verwijderd schreef op woensdag 7 maart 2018 @ 19:19:
- Hoe valideer ik de data-input van de groupbox fields wanneer Add button wordt geactiveerd?
Het ziet er uit als een WinForms ding, in dat geval zou de eerste keuze het Control Validating event zijn.

Dat gezegd hebbende, DataBinding en ik zijn geen vrienden en op een of andere manier voldoet deze methode bijna nooit voor mijn use cases. (Of ik begrijp het niet goed genoeg)

Somniferous whisperings of scarlet fields. Sleep calling me and in my dreams i wander. My reality is abandoned (I traverse afar). Not a care if I never everwake.