Toon posts:

[Visual Basic 2005] Veldlengte uit DB koppelen aan Form

Pagina: 1
Acties:
  • 101 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik heb een visual basic 2005 applicatie die dmv datasets zijn gegevens uit een (Sql server 2005) haalt.

Nu heb ik de volgende vraag:

Ik maak forms om mijn database te vullen dmv het slepen van de velden uit de dataset op het form. Het probleem hierbij is dat de maximum lengte van dat veld niet automatisch wordt aangepast aan de lengte zoals deze is aangegeven bij dat veld in de database. Nu moet ik dus alle velden met de hand gaan aanpassen aan de maximale lengte in de database zodat de gebruikers niet teveel data kunnen invoeren.

Is er een mogelijheid om deze veldlengte automatisch te laten aanpassen aan de lengte van de database. Bijvoorbeeld bij de form_load zou ik dan snel door de velden heen kunnen 'loopen' om de maximum lengte van het desbtreffende form goed te zetten.

Ik heb al gezocht op GoT, MSDN en google maar kan hier nog niet echts vinden wat mij in de goede richting kan helpen. Is er hier iemand die kan helpen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Je kan de informatie van je velden halen uit de information_schema.columns view.

Maar, wellicht kan je ook bij het vullen van je DataSet de MissingSchemaAction property van je DataAdapter op MissingSchemaAction.Add zetten. Wellicht wordt de schema information dan in je DataTable overgenomen.

Edit:
Hmm, de MaxLength wordt blijkbaar niet goed meegenomen.

[ Voor 10% gewijzigd door whoami op 10-07-2007 14:51 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
Met information.schema is het wel mogelijk, maar nogal 'complex'. Is er iemand die een snellere/makkelijkere manier weet? Nu moet ik eerst alle informatie op gaan vragen en dan koppelen aan het veld. Is het niet mogelijk om direct de maximale waarde mee te geven aan het veld? Iemand nog een idee.. ik ben hier al lang mee bezig maar tot nu toe nog geen geschikte oplossing kunnen vinden.

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Je zult ALTIJD eerst meta data moeten opvragen voordat je automatisch properties van input elementen kunt zetten. Moet de computer soms raden wat jij wilt?

Daarnaast vind ik het nogal 'lui' overkomen dat je geen 'zin' hebt om handmatig (maar je doet wel slepen van velden) even enkele properties in te stellen zoals de maximale lengte. Waarschijnlijk hebben meerdere velden zelfs dezelfde lengte. Die kun je allemaal selecteren en dan via het property grid via 1 instelling wijzigen. Ik denk dat je voor een formulier van 20 velden wel zeker 5 minuten bezig bent.

Een andere oplossing dat je een 'form' user control schrijft welke de datatable meekrijgt en op basis daarvan het formulier tekent. Dat control kun je dan voortaan voor al je formulieren gebruiken en heeft direct als voordeel dat je een consistente user interface hebt.

If it isn't broken, fix it until it is..


Verwijderd

Topicstarter
Het gaat me niet om 'lui te zijn', dat zeker niet.

Ik moet echt heel wat formulieren aanmaken en dan lijkt het me wel handig. Tevens veranderen de eigenschappen van de velden in de database weleens. (Overigens ben ik hier geen voorstander van, maar goed ik maak dan ook niet de database en heb hier al menige discussie over gevoerd). Dan is het wel handig als dit ook wordt aangepast op het form.

  • Niemand_Anders
  • Registratie: Juli 2006
  • Laatst online: 09-07-2024

Niemand_Anders

Dat was ik niet..

Dan zul je dus of de meta data moeten ophalen en toewijzen aan de verschillende velden of je zult naar een oplossing toe moeten waarbij een control zelf het formulier tekent op basis van een data table. Voor dat laatste zullen waarschijnlijk wel al een aantal projecten bestaan (ik zou eens zoeken op codeproject codeplex, source forge, etc).

If it isn't broken, fix it until it is..


Verwijderd

Verwijderd schreef op dinsdag 17 juli 2007 @ 14:09:
Ik moet echt heel wat formulieren aanmaken en dan lijkt het me wel handig. Tevens veranderen de eigenschappen van de velden in de database weleens.
Het is volgens mij echt een kriem als je datamodel veranderd. De metadata wordt eenmalig opgehaald. En voor zover ik weet, moet je alsnog een of meerdere handmatige acties doen als er iets veranderd aan je model.
Of het zou in de laatste versie al een stuk gebruiksvriendelijker zijn geworden.
Pagina: 1