我的db(访问)中有一个字段,其中包含我需要在显示时更改的值。例如,如果从db收到的初始值为“D”,那么我需要将其更改为“Destroyed”。我尝试过使用各种if语句但由于缺乏编程知识而无法继续前进。 Option Strict disallows =并建议Is。
我想也许我应该看的是一个switch语句。我这样说是因为我可能需要在显示之前循环显示12个不同的值。我已经包含了我已完成的代码,如果有人可以帮助我完成此操作,我将不胜感激。非常感谢。
While dr.Read()
lvRequests.Items.Add((dr(0)).ToString()).UseItemStyleForSubItems = False
lvRequests.Items(lvRequests.Items.Count - 1).SubItems.Add(CDate(dr(5)).ToShortDateString())
lvRequests.Items(lvRequests.Items.Count - 1).SubItems.Add(dr(1).ToString())
With lvRequests.Items(lvRequests.Items.Count - 1).SubItems.Add(dr(3).ToString())
If dr(3) Is "D" Then
.dr(3) = "destroyed"
Else
If dr(3) Is "O" Then
.dr(3) = "out"
End If
End If
End With
lvRequests.Items(lvRequests.Items.Count - 1).SubItems.Add(dr(9).ToString())
lvcount += 1
End While
答案 0 :(得分:1)
首先尝试检查是否存在任何行,这会阻止NullReferenceException
While dr.Read()
If dr.HasRows
...
...
这应该没问题,只需改为使用ElseIf
If dr(3) Is "D" Then
dr(3) = "destroyed"
ElseIf dr(3) Is "O" Then
dr(3) = "out"
End If