Domanda

In questo esempio, viene generato un errore se uno o row.FirstName row.LastName sono NULL.

Come faccio a riscrivere la clausola Select, per convertire un valore DBNull a un "" stringa vuota?

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

NOTA: Dal momento che il DataSet è strongly-typed. Posso usare row.isFirstNameNull(), ma IIF(row.isFirstNameNull(), "", row.FirstName) non funzionerà in quanto tutti i parametri si riferiscono.

È stato utile?

Soluzione

Nella tua nota che hai citato IIf(row.isFirstNameNull(), "", row.FirstName) sostituire quello con If(row.isFirstNameNull(), "", row.FirstName) che non valuteranno la parte false se la condizione è vera

Altri suggerimenti

operatore ternario di VB "se":

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

che dire row.FirstName ?? string.Empty

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top