Mensen,
Ik heb een dataset die visual studio 2005 zelf gegenereed heeft (.xsd). Daarin heb ik een tabel met een datum kolom die null mag zijn. Wanneer ik deze kolom uitlees krijg ik de foutmelding:
The value for column 'LaatstGewijzigdDatum' in table 'ServiceHeader' is DBNull.
Dit klopt want de volgende code wordt aangeroepen (deze heeft visual studio zelf gegenereed):
in de properties van de kolom kan ik bij NullValue aangeven wat de null waarde moet zijn. Hierbij kan ik kiezen uit: Throw Exception, Nothing en Empty. Wanneer ik deze wijzig van Throw Exeption naar Nothing krijg ik de volgende foutmelding:
For columns not defined as System.String, the only valid value is (Throw exception).
Bij kolommen van het type string werkt het wel. Als ik dan naar de code kijk dan staat dit er:
Nu heb ik geprobeerd om de code van de datum property handmatig aan te passen zodat deze ook Nothing kan returnen maar Visual Studio veranderd deze zelf weer terug naar de oude staat.
Wie kan mij vertellen hoe ik hier mee om moet gaan? Is de melding
For columns not defined as System.String, the only valid value is (Throw exception).
misschien een fout in Visual Studio?
1. oplossing zou zijn om altijd een datum op te staan in de database maar dat vind ik geen goede/mooie oplossing.
Ik heb een dataset die visual studio 2005 zelf gegenereed heeft (.xsd). Daarin heb ik een tabel met een datum kolom die null mag zijn. Wanneer ik deze kolom uitlees krijg ik de foutmelding:
The value for column 'LaatstGewijzigdDatum' in table 'ServiceHeader' is DBNull.
Dit klopt want de volgende code wordt aangeroepen (deze heeft visual studio zelf gegenereed):
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <System.Diagnostics.DebuggerNonUserCodeAttribute()> _ Public Property LaatstGewijzigdDatum() As Date Get Try Return CType(Me(Me.tableServiceHeader.LaatstGewijzigdDatumColumn),Date) Catch e As System.InvalidCastException Throw New System.Data.StrongTypingException("The value for column 'LaatstGewijzigdDatum' in table 'ServiceHeader' is DBNull.", e) End Try End Get Set Me(Me.tableServiceHeader.LaatstGewijzigdDatumColumn) = value End Set End Property |
in de properties van de kolom kan ik bij NullValue aangeven wat de null waarde moet zijn. Hierbij kan ik kiezen uit: Throw Exception, Nothing en Empty. Wanneer ik deze wijzig van Throw Exeption naar Nothing krijg ik de volgende foutmelding:
For columns not defined as System.String, the only valid value is (Throw exception).
Bij kolommen van het type string werkt het wel. Als ik dan naar de code kijk dan staat dit er:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <System.Diagnostics.DebuggerNonUserCodeAttribute()> _ Public Property LaatstGewijzigdGebruiker() As String Get If Me.IsLaatstGewijzigdGebruikerNull Then Return Nothing Else Return CType(Me(Me.tableServiceHeader.LaatstGewijzigdGebruikerColumn),String) End If End Get Set Me(Me.tableServiceHeader.LaatstGewijzigdGebruikerColumn) = value End Set End Property |
Nu heb ik geprobeerd om de code van de datum property handmatig aan te passen zodat deze ook Nothing kan returnen maar Visual Studio veranderd deze zelf weer terug naar de oude staat.
Wie kan mij vertellen hoe ik hier mee om moet gaan? Is de melding
For columns not defined as System.String, the only valid value is (Throw exception).
misschien een fout in Visual Studio?
1. oplossing zou zijn om altijd een datum op te staan in de database maar dat vind ik geen goede/mooie oplossing.
If it does not kill u, it makes u stronger