请参阅下面的DDL:
CREATE TABLE TestDate (bookingdate datetime)
INSERT INTO TestDate VALUES ('2013-10-04')
请参阅下面的ADODB记录集:
rs.open "SELECT bookingdate FROM TestDate"
If rs("bookingdate") > dateadd("yyyy", -6, Now)
msgbox("test")
end if
指定rs("bookingdate")
和rs("bookingdate").value
之间有什么区别。我在这里已经阅读了一些问题,其中回答者总是说使用.value,但是没有解释原因。我在MSDN上看了一下但找不到答案。
答案 0 :(得分:2)
Value
是Field
对象的default property,因此在VB6中,rs("bookingdate")
和rs("bookingdate").value
when used without Set
之间没有区别。< / p>
我个人不喜欢不使用不带参数的默认属性。它使代码less confusing成为IMO。
在VB.NET中,默认属性必须有一个参数,因此不会出现这种情况
注意Recordset
具有带参数的默认属性,您使用它来返回Field
对象:rs("bookingdate")
实际上是rs.Item("bookingdate")
。使用这些,IMO,没有任何伤害。