我有'严格打开'并且我在下面引用了错误。通常,程序会中断并提供纠正错误的可能方法,但在这种情况下不会。由于我是VB.Net的新用户,我需要了解为什么在严格模式下发生此错误,而不是在关闭时。
如果有人能告诉我如何纠正这一点,我将不胜感激。我已经发布了代码发生的地方。非常感谢
Option Strict On禁止从“Date”到的隐式转换 '字符串'
ListView1.Items.Add(CDate(dr(4).ToString())).UseItemStyleForSubItems = False
答案 0 :(得分:2)
ListViewItemCollection.Add
没有超载,Date
只有一个String
而一个ListVieItem
。但是你传递的Date
不可转换为字符串。如果要显示短日期模式,可以使用ToShortDateString
:
ListView1.Items.Add(dr.GetDateTime(4).ToShortDateString()).UseItemStyleForSubItems = False
请注意,我还使用了DataReader.GetdateTime
。如果是Date
,您根本不需要将其转换为String
。这样效率低,可读性差,可能导致本地化问题。
答案 1 :(得分:1)
尝试将其更改为此。
ListView1.Items.Add(CDate(dr(4))。ToString())。UseItemStyleForSubItems = 假