Toon posts:

[C# ADO.NET] Updaten van gerelateerde tabellen

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met C# in Visual studio 2005

Even kort mijn database schetsen.
(eenvoudiger gemaakt om probleem te schetsen)
Ik gebruik een sqldb met volgende 2 tabellen met volgende kolommen:

tblPostcode
Postcode (primary key)
Naam
regioId

tblRegio
regioId (primary key)
RegioNaam
RegioInfo

Als relatie heb ik :
primary tabel = tblRegio met regioId
foreign key tabel = tblPostdode regioId


Ik zou nu graag de gebruiker de regio laten wijzigen terwijl ik de postcodes doorloop. Ik lees dus de twee tabellen binnen in een dataset en dan komt het probleem. Ik kan nu wel de
datagrid postcode -- naam -- regioid(van postcode) bewerken en updaten maar ik zou het graag op volgende manier doen : postcode --- naam --- regionaam. Dus door de regionaam te wijzigen zou automatisch het regioid moeten veranderen.
Door de regionaam in te geven zou deze automatisch een regioid moeten doorgeven aan de tblPostcode.

Ik zou dus eigenlijk een combobox in de datagrid moeten kunnen tonen met daarin als displaymember : regioNaam en als valuemember :regioId (van postcode). Maar ik weet niet als dit wel de beste manier is? Of 2 datagrids hebben 1 die je ziet met postcode--- naam -- regioNaam en 1 onzichtbare met postcode - naam - regioid, maar dat lijkt mij vrij moeilijk?

Kortom ik zit wat strop met het wijzigen van gegevens in mijn databank.

  • EfBe
  • Registratie: Januari 2000
  • Niet online
Welke datagrid gebruik je? Het is nl. niet echt simpel om een combobox in de standaard .NET grid te prakken maar in 3rd party grids is het wel vaak erg makkelijk.

Ook is wel nuttig te weten of je asp.net gebruikt of winforms.

Creator of: LLBLGen Pro | Camera mods for games
Photography portfolio: https://fransbouma.com


Verwijderd

Topicstarter
Ik ben bezig met winforms.

Maar het hoeft niet echt met een datagrid zijn, het mag ook met tekstboxen of comboboxen zijn maar hoe breng je die wijzigen dan terug naar je database? Daar zit ik wat in de knoop.
In vs2003 kon ik dingen toevoegen aan een bepaalde tabel, via een sqlCommand. Maar om dingen te wijzigen ontbreekt mij voorlopig een manier om het op een eenvoudige manier voor elkaar te krijgen.

Is het bijvoorbeeld niet mogelijk om een "view" in mijn database te maken en die dan in te laden in mijn dataset? Probleem hierbij is dat hij dit niet kan updaten, waarschijnlijk omdat er dan geen primary keys gedefinieerd zijn. Kan ik die niet op één of andere manier meegeven zodanig dat er toch een update command kan uitgevoerd worden?

Verwijderd

Topicstarter
Na nog wat verder rond te zoeken kwam ik volgende artikels tegen, waarin goed uitgelegd wordt hoe je dit probleem moet oplossen. Ik zou zeggen een heel grote verbetering tov vs 2003!!


[url=]http://www.15seconds.com/issue/051103.htm deel 1[/url]
[url=]http://www.15seconds.com/issue/051117.htm deel 2[/url]
[url=]http://www.15seconds.com/issue/051123.htm deel 3[/url]

vooral in deel twee staat de oplossing van mijn probleem.

[ Voor 1% gewijzigd door Verwijderd op 27-11-2005 16:44 . Reden: typo ]