Ik heb in C# een tableadapter geschreven.
Deze laad na het uitvoeren van FILL() de gegevens in een DataSet welke weer gebonden is aan een DataGridView.
Door middel van `activity_id` en `users_id` kan men een gebruiker selecteren en de activiteit waar de uren voor staan. (werk bijvoorbeeld).
Voor het gemak heb ik hier even voor allebij 1 ingevuld.
In het DataGridView laat ik alle kolommen zien BEHALVE `hours_id`, `users_id` en `activity_id`
Het probleem komt nu op het moment dat ik een waarde in wil voeren.
Er worden 3 kolommen niet getoond en als ik in mijn datagridview informatie in wil voeren krijg ik vervolgens een System.Data.NoNullAllowedException.
De kolom `hours_id` mag geen null bevatten.
Dit wil ik echter wel aangezien als bij het invoeren van de data dan netjes een nieuwe waarde toegewezen word (AUTO_INCREMENT).
Nu moet dit volgens microsoft opgelost worden doorhet volgende:
Nu is mijn vraag dus:
Hoe kan ik in code van te voren aangeven hoe mijn tabel er uit komt te zien in de dataset zodat ik op de kolom `hours_id` de property AllowDBNull op true kan zetten.
Zoiezo kom ik er niet echt uit hoe ik zelf de tabel opbouw in de dataset zodat de mysql gegevens daar netjes inkomen.
En is dit eigenlijk wel nodig of kan ik na het genereren van de tabel in de dataset alsnog de?/het? property van de kolom op true zetten?

Deze laad na het uitvoeren van FILL() de gegevens in een DataSet welke weer gebonden is aan een DataGridView.
code:
1
2
3
4
5
6
7
8
9
| mysql> SELECT `hours_id`, `day`, `time_begin`, `time_end`, `time_break`, `users_id`, `activity_id` FROM `urenprog`.`hours` WHERE (`activity_id` = 1) AND (`users_id` = 1); +----------+------------+------------+----------+------------+----------+-------------+ | hours_id | day | time_begin | time_end | time_break | users_id | activity_id | +----------+------------+------------+----------+------------+----------+-------------+ | 1 | 2008-02-12 | 08:00:00 | 17:00:00 | 01:00:00 | 1 | 1 | | 22 | 2008-05-22 | 08:00:00 | 08:00:00 | 01:00:00 | 1 | 1 | | 21 | 2008-05-29 | 17:00:00 | 20:00:00 | 00:00:00 | 1 | 1 | +----------+------------+------------+----------+------------+----------+-------------+ 3 rows in set (0.01 sec) |
Door middel van `activity_id` en `users_id` kan men een gebruiker selecteren en de activiteit waar de uren voor staan. (werk bijvoorbeeld).
Voor het gemak heb ik hier even voor allebij 1 ingevuld.
In het DataGridView laat ik alle kolommen zien BEHALVE `hours_id`, `users_id` en `activity_id`
Het probleem komt nu op het moment dat ik een waarde in wil voeren.
Er worden 3 kolommen niet getoond en als ik in mijn datagridview informatie in wil voeren krijg ik vervolgens een System.Data.NoNullAllowedException.
De kolom `hours_id` mag geen null bevatten.
Dit wil ik echter wel aangezien als bij het invoeren van de data dan netjes een nieuwe waarde toegewezen word (AUTO_INCREMENT).
Nu moet dit volgens microsoft opgelost worden doorhet volgende:
Maar mijn het schema van de tabel in mijn DataSet word automatisch aangemaakt tijdens FILL().Set AllowDBNull to true.
Setting this property to true will allow you to inset null values. For more information, see AllowDBNull.
Nu is mijn vraag dus:
Hoe kan ik in code van te voren aangeven hoe mijn tabel er uit komt te zien in de dataset zodat ik op de kolom `hours_id` de property AllowDBNull op true kan zetten.
Zoiezo kom ik er niet echt uit hoe ik zelf de tabel opbouw in de dataset zodat de mysql gegevens daar netjes inkomen.
En is dit eigenlijk wel nodig of kan ik na het genereren van de tabel in de dataset alsnog de?/het? property van de kolom op true zetten?

[ Voor 57% gewijzigd door Gehakt op 14-06-2008 02:20 . Reden: Heb de verouderde code verwijderd ]


