Vb.net 用于显示数据或不显示数据的简单if语句
我在for循环中有一个数组,没有“数据”,并给我一条错误消息,说1990年找不到这个。我正在寻找一个if语句,如果有一行名为“data”,我可以使用它,如果没有,则将图表保留为黑色,不显示任何数据 代码是:Vb.net 用于显示数据或不显示数据的简单if语句,vb.net,if-statement,Vb.net,If Statement,我在for循环中有一个数组,没有“数据”,并给我一条错误消息,说1990年找不到这个。我正在寻找一个if语句,如果有一行名为“data”,我可以使用它,如果没有,则将图表保留为黑色,不显示任何数据 代码是: Dim array1 As New ArrayList Dim array2 As New ArrayList Dim array3 As New ArrayList For Each row In name1 array.Add(row(
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
错误
如果Year1.包含(“数据”),那么根据您提供的有限信息,我在这里做了几个假设:
行
是一个数据行
- 存在一个
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
因此,您的代码可能如下所示:
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
查询应返回列的静态列表。对于1989年的每一行,您不能用中的数字命名变量,因此您的代码将无法编译。是的,将其更改为name,您是否知道if语句如果没有名为“data”的项
在表中,如果您不想使用条件来检查它,您只想将其删除。根据术语,我假设行
是直接从数据库中提取的数据行
?如果没有名为“data”
的列,那么就没有这样的列。条件的计算结果总是false
,这是多余的。@david数据来自数据库,有时会显示出来。。这就是为什么我需要if语句不使用ArrayList
,它已被弃用。改为使用通用容器。如果('data')出现错误,则表示“string”类型的值无法转换为“System.data.Datarow”@al123:在哪一行?显示更新的代码并指出错误发生的位置。我再强调也不为过,我们无法检查您没有向我们展示的代码/错误/等等。我们实际上不在你的电脑里。@al123:基于此,什么是Year1
?这是数据表吗?如果是这样,您需要检查该对象上的列
集合,如我的回答中所述。第一年应该是该列,但我将其死记硬背为name4lol,很抱歉造成混淆david,我知道您在说什么了。谢谢您的帮助和时间。