Heren,
Ik heb last van groeipijnen met de nieuwe visual studio...
Mijn programma maakt gebruik van een Access database die gegevens bijhoudt die de gebruiker moet ingeven en beheren. Deze data is persoons- en adresinformatie.
Dankzij de vele geautomatiseerde stappen in VS2005 is het werken met queries eenvoudig(er). Echter nu heb ik een scalar query waarmee ik op zoek ga naar het adres ID van een adres met als zoekparameters alle niet-key-velden.
Dit alles wordt gemaakt in de dataset, die de code hierna genereert.
De code van mijn zoekAdres query (in dbDataSet.Designer.vb) ziet er zo uit:
In het begin zie je 2 checks of bijnummer en postcode 'nothing' zijn. Bij de properties van de tabel in de datasetdesigner staat de NullValue = (Nothing).
Als ik met deze parameter speel en de dataset hergenereer dan blijven deze checks staan! Dit wil ik niet.
Indien mijn scalar query ook niets oplevert dan wordt er ook een error getriggered.
Mijn vraag is nu hoe ik dit probleem kan oplossen/omzeilen op een nette manier?
De query:

De dataset:
Ik heb last van groeipijnen met de nieuwe visual studio...
Mijn programma maakt gebruik van een Access database die gegevens bijhoudt die de gebruiker moet ingeven en beheren. Deze data is persoons- en adresinformatie.
Dankzij de vele geautomatiseerde stappen in VS2005 is het werken met queries eenvoudig(er). Echter nu heb ik een scalar query waarmee ik op zoek ga naar het adres ID van een adres met als zoekparameters alle niet-key-velden.
Dit alles wordt gemaakt in de dataset, die de code hierna genereert.
De code van mijn zoekAdres query (in dbDataSet.Designer.vb) ziet er zo uit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| Public Overloads Overridable Function ZoekAdres(ByVal straatnaam As Integer, ByVal huisnummer As Integer, ByVal bijnummer As String, ByVal postcode As String) As System.Nullable(Of Integer)
Dim command As System.Data.OleDb.OleDbCommand = Me.CommandCollection(2)
command.Parameters(0).Value = CType(straatnaam,Integer)
command.Parameters(1).Value = CType(huisnummer,Integer)
If (bijnummer Is Nothing) Then
Throw New System.ArgumentNullException("bijnummer")
Else
command.Parameters(2).Value = CType(bijnummer,String)
End If
If (postcode Is Nothing) Then
Throw New System.ArgumentNullException("postcode")
Else
command.Parameters(3).Value = CType(postcode,String)
End If
Dim previousConnectionState As System.Data.ConnectionState = command.Connection.State
command.Connection.Open
Dim returnValue As Object
Try
returnValue = command.ExecuteScalar
Finally
If (previousConnectionState = System.Data.ConnectionState.Closed) Then
command.Connection.Close
End If
End Try
If ((returnValue Is Nothing) _
OrElse (returnValue.GetType Is GetType(System.DBNull))) Then
Return System.Nullable.FromObject(Of Integer)(Nothing)
Else
Return New System.Nullable(Of Integer)(CType(returnValue,Integer))
End If
End Function |
In het begin zie je 2 checks of bijnummer en postcode 'nothing' zijn. Bij de properties van de tabel in de datasetdesigner staat de NullValue = (Nothing).
Als ik met deze parameter speel en de dataset hergenereer dan blijven deze checks staan! Dit wil ik niet.
Indien mijn scalar query ook niets oplevert dan wordt er ook een error getriggered.
Mijn vraag is nu hoe ik dit probleem kan oplossen/omzeilen op een nette manier?
De query:

De dataset:
[ Voor 2% gewijzigd door Verwijderd op 08-12-2005 18:38 . Reden: url's fixed ]