Toon posts:

[vb.net] Tableadapter met optionele Foreign Key

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een database met daarin klantgegevens (Users).
Omdat je bij het aanmaken van een klant niet alle gegevens hebt, zijn er veel velden waar een NULL waarde in mag staan, zo ook FK naar adressen (Adresses). De waarde hier moet dus ofwel overeenkomen met de PK van Addresses ofwel leeg zijn.

MSSQL2005 (Express) accepteert dit gewoon.

Voor datatoegang gebruiken we TableAdapters.

Zogauw ik dan een record open met daarin een FK die op NULL staat, krijg ik de melding:
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints
.
(Waarbij de fout gemaakt wordt in een lap gegenereerde code).

Van velden kan je instellen wat er moet gebeuren als het een NULL value bevat:
- Throw exception
- Null
- Empty

Echter, als ik dit voor een type INTEGER wil wijzigen, zegt hij dat dat alleen voor string kan.
Maar ik wil mijn PK echt als integer houden (logischer, auto increment, etc).

Bij een winform schijn je bij het laden op te kunnen geven dat hij de constraints niet hoeft mee te pakken, bij een webform niet.

Maar zelfs als ik dat uit zou kunnen zetten, ben ik er niet, want indien de FK is ingevult, moet hij aan de constraints voldoen.

Verder zou ik graag TableAdapters blijven gebruiken (ivm strong typing), en geen dataset.

Ik kwam http://forums.microsoft.c...px?PostID=602521&SiteID=1 hier iets tegen wat misschien helpt, maar ik snap niet helemaal wat daarmee bedoeld wordt....

En dit http://forums.asp.net/thread/1263527.aspx leek op mijn probleem, maar zij hebben een andere oplossing gekozen, waar ik dus niets aan heb.

En ook http://groups.google.nl/g...c7a790%2376a374fd3ec7a790 is niet echt bemoedigend, wel het probleem, maar geen oplossing voorhanden....

Iemand suggesties?

  • whoami
  • Registratie: December 2000
  • Nu online
Bij een winform schijn je bij het laden op te kunnen geven dat hij de constraints niet hoeft mee te pakken, bij een webform niet.
Bij een 'webform' kan je evengoed zeggen dat de constraints op een dataset niet moeten gechecked worden. Dit is een property van de dataset (EnforceConstraints)
klik

Je kan toch ook in je typed DataSet aangeven dat een bepaalde column nillable is of niet ?
nillable="true"
In je dataset definitie opnemen voor het betreffende veld.

https://fgheysels.github.io/


Verwijderd

Topicstarter
EnforceContstraints is een property, maar niet een die publiekelijk benaderbaar is. (Of ik kijk ergens compleet overheen)