当我在 VB.NET 中修改 SQL 查询时,.tag 返回 Nothing
Posted
技术标签:
【中文标题】当我在 VB.NET 中修改 SQL 查询时,.tag 返回 Nothing【英文标题】:.tag returning Nothing when I modify SQL Query in VB.NET 【发布时间】:2018-05-18 09:24:34 【问题描述】:我将一些图片框归于数据集中的 .tag 值。
使用我的主要 SQL 查询可以完美运行。当我在某处更改值时添加要运行的不同查询时,.tag 将返回 Nothing。请记住,我的列数完全相同,唯一不同的是我正在过滤一个名称,该名称会将行数从 40 减少到 6。
代码如下:
If Form10.ComboBox1.Text = "Rock" Then
Me.Sheet1TableAdapter.FillBy1(Me.Contract_ManagementDataSet2.Sheet1)
End If
如果 combobox.text 是“Rock”,这称为辅助查询
For Each PictSlas In Arr_PicSlAch
For Each PictCom In Arr_PicCom
Select Case PictSlas.Tag Or PictCom.Tag
Case > 4
PictSlas.BackColor = Color.Green
PictCom.BackColor = Color.Green
Case > 3
PictSlas.BackColor = Color.GreenYellow
PictCom.BackColor = Color.GreenYellow
Case > 2
PictSlas.BackColor = Color.Gold
PictCom.BackColor = Color.Gold
Case > 1
PictSlas.BackColor = Color.DarkOrange
PictCom.BackColor = Color.DarkOrange
Case > 0
PictSlas.BackColor = Color.Red
PictCom.BackColor = Color.Red
Case 0
PictSlas.Visible = False
PictCom.Visible = False
End Select
上一段代码作用于SQL查询赋予每张图片的标签。我有一个用于图片框的数组和一个按顺序用数据源中的数据填充它们的变量。
当我使用初始 SQL 查询时,这一切都有效:
SELECT ID, Vendor, [SLA Achievement] + Commercial + [Operation Stability] + [Cont Improvement] + Partnering AS [Overall Status], [Contract Expiry Date], [SLA Achievement], Commercial, [Operation Stability],
[Cont Improvement], Contract, Partnering
来自 Sheet1
但是当我将查询更改为以下查询时,它停止工作并且所有标签都返回 Nothing 或 Null:
SELECT ID, Vendor, [SLA Achievement] + Commercial + [Operation Stability] + [Cont Improvement] + Partnering AS [Overall Status], [Contract Expiry Date], [SLA Achievement], Commercial, [Operation Stability],
[Cont Improvement], Contract, Partnering
FROM Sheet1
WHERE (Vendor = 'Rock')
有人知道为什么吗?
【问题讨论】:
【参考方案1】:由我的查询中的行数引起的问题与我试图填写的表单上的对象数不匹配。
添加:
Try
Catch ex as Exception
End Try
在遍历所有对象并填充它们的循环上,它现在绕过了错误。
可能不是最干净的解决方案,但它解决了我的问题。
【讨论】:
以上是关于当我在 VB.NET 中修改 SQL 查询时,.tag 返回 Nothing的主要内容,如果未能解决你的问题,请参考以下文章