Frage

In diesem Beispiel wird ein Fehler aufgeworfen, wenn beides angesprochen wird row.FirstName oder row.LastName sind NULL.

Wie schreibe ich das um Select Klausel, um einen DBNull -Wert in eine leere Zeichenfolge umzuwandeln ""?

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

Hinweis: Da der Datensatz stark typisch ist. ich kann nutzen row.isFirstNameNull(), aber IIF(row.isFirstNameNull(), "", row.FirstName) wird nicht funktionieren, da alle Parameter verwiesen werden.

War es hilfreich?

Lösung

In Ihrer Notiz haben Sie erwähnt IIf(row.isFirstNameNull(), "", row.FirstName) Ersetzen Sie das durch If(row.isFirstNameNull(), "", row.FirstName) Dies bewertet den falschen Teil nicht, wenn die Bedingung wahr ist

Andere Tipps

Verwenden Ternärer Operator von VB "wenn" :

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

wie wäre es mit row.FirstName ?? string.Empty

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top