Question

Dans cet exemple, une erreur est augmentée si l'row.FirstName ou row.LastName sont NULL.

Comment puis-je réécrire la clause Select, pour convertir une valeur DBNull à une "" de chaîne vide?

Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
            Select row.FirstName, row.LastName

NOTE: Étant donné que le DataSet est fortement typé. Je peux utiliser row.isFirstNameNull(), mais IIF(row.isFirstNameNull(), "", row.FirstName) ne fonctionnera pas car tous les paramètres sont référencés.

Était-ce utile?

La solution

Dans votre note, vous avez mentionné IIf(row.isFirstNameNull(), "", row.FirstName) remplacer par If(row.isFirstNameNull(), "", row.FirstName) qui n'évaluera la partie fausse si la condition est vraie

Autres conseils

Utilisez opérateur ternaire de VB "si":

Dim query = From row As myDataSet.myDataRow in myDataSet.Tables("MyData") _
    Select if(row.isFirstNameNull(), "", _
        row.FirstName), if(row.isLastNameNull(), "", row.LastName)

Qu'en est-row.FirstName ?? string.Empty

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top