Recordset .value属性

时间:2013-10-05 17:08:35

标签: vb6

请参阅下面的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上看了一下但找不到答案。

1 个答案:

答案 0 :(得分:2)

ValueField对象的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,没有任何伤害。