Pergunta

Neste exemplo, um erro é levantado se qualquer um row.FirstName ou row.LastName são NULL.

Como faço para reescrever o Select Cláusula, para converter um valor dbnull em uma string em branco ""?

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

NOTA: Como o conjunto de dados é fortemente tipo. Eu posso usar row.isFirstNameNull(), mas IIF(row.isFirstNameNull(), "", row.FirstName) não funcionará, pois todos os parâmetros são referenciados.

Foi útil?

Solução

Em sua nota que você mencionou IIf(row.isFirstNameNull(), "", row.FirstName) substitua isso por If(row.isFirstNameNull(), "", row.FirstName) que não avaliará a parte falsa se a condição for verdadeira

Outras dicas

Usar Operador ternário da VB "E se" :

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

A respeito row.FirstName ?? string.Empty

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top