简单的if语句显示数据或不显示数据

时间:2013-07-03 12:25:43

标签: vb.net if-statement

我在for循环中有一个数组,没有'数据'并且给我一个错误消息,说在1990年找不到这个。我正在寻找一个if语句,如果有一行称为'数据,我可以使用它'如果没有,那么将图表保留为黑色,不显示任何数据。

代码是:

    Dim array1 As New ArrayList
    Dim array2 As New ArrayList
    Dim array3 As New ArrayList


    For Each row In name1
        array.Add(row("info"))
    Next row



    For Each row In name2
        array1.Add(row("name"))

    Next row

    For Each row In name3
        array2.Add(row("address"))

    Next row


    For Each row In name4
        array3.Add(row("data"))
    Next row

我的数据显示的是信息,名称和地址。数据未显示,表示表中没有数据。 我如何将它放入if语句中,然后显示没有数据显示..

使用vb.net

错误

    If Year1.Contains("data") Then   <------ error on data
        For Each row In name4
            array3.Add(row("data"))
        Next row
    End If

“string”类型的错误代码值无法转换为“System.data.Datarow”

1 个答案:

答案 0 :(得分:2)

根据您提供的有限信息,我在这里做了几个假设

  • rowDataRow
  • 存在DataTable(我将称之为table
  • 有时存在一个名为data的列,有时则没有。 (也就是说,您的架构不是静态的。)

您可以检查其DataTable集合中Columns对象上是否存在列。像这样:

If table.Columns.Contains("data") Then
    ' use the column
End If

所以你的代码看起来像这样:

If table.Columns.Contains("data") Then
    For Each row In name4
        array3.Add(row("data"))
    Next row
End If

拥有非静态数据库架构绝对是非正统的。至少应该由数据库代码而不是应用程序逻辑处理这类事情。 SELECT查询应返回静态列列表。