1

以下の 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 を調べましたが、答えが見つかりませんでした。

4

1 に答える 1

2

Valueはオブジェクトのデフォルト プロパティであるため、VB6 では となしで使用した場合にField違いはありませrs("bookingdate")ん。rs("bookingdate").value Set

個人的には、パラメーターを取らない既定のプロパティを使用しないことを好みます。コードのIMOの混乱を軽減します。

VB.NET では、既定のプロパティにパラメーターが必要なため、このような状況は発生しません。
NoteRecordsetにはパラメータ付きのデフォルト プロパティがあり、それを使用してFieldオブジェクトをrs("bookingdate")返していますrs.Item("bookingdate")。それら、IMOを使用しても害はありません。

于 2013-10-05T17:18:59.800 に答える