Извлечение данных из DataRow с использованием DataSet - PullRequest
0 голосов
/ 30 мая 2018

Пример 1 вызывает исключение, когда цена является нулевым значением, Пример 2 показывает нулевое значение.Чем отличаются эти два способа извлечения данных из DataRow?

Using ta As New DataSet1TableAdapters.titlesTableAdapter
        Dim table As New DataSet1.titlesDataTable
        Dim row As DataSet1.titlesRow

        table = ta.GetData

        For Each row In table

            'Example 1
            'Throws an exception with nulls
            Response.Write(row.price & "<br>")

            'Example 2
            'Displays Nulls
            Response.Write(row("price") & "<br>")

        Next
    End Using

1 Ответ

0 голосов
/ 30 мая 2018

Когда вы объединяете ноль со строкой, вы получаете ноль.Лучше всего сделать что-то вроде

Using ta As New DataSet1TableAdapters.titlesTableAdapter
    Dim table As New DataSet1.titlesDataTable
    Dim row As DataSet1.titlesRow

    table = ta.GetData

    For Each row In table

        if (row("price") is Nothing) Then
            Response.Write(row("price") & "<br>")
        else
            Response.Write( "<br>")
        End If
    Next
End Using

Или какую-нибудь более короткую версию этого.Я предполагаю, что первый пример создает исключение, потому что он неявно вызывает ToString () для row.price и, поскольку это значение равно NULL, оно дает исключение.

...