rs!field和rs.fields之间的区别(“field”)

时间:2015-09-29 12:22:08

标签: sql vba sql-server-2008

我对偏好有疑问。 我已经使用和看过使用这两个例子,并想知道一个是否比另一个更好/更快/更优先...

使用SQL Server 2008 (RS = RecordSet)

RS!field

VS

RS.Fields("Field")

第一种是更短,更快的输入,但是对于其中一种有任何优势吗?

1 个答案:

答案 0 :(得分:1)

不,它们在VB中是等价的。来自the documentation

  

仅在类或接口上使用!运算符作为字典访问运算符。类或接口必须具有接受单个String参数的默认属性。紧跟在!运算符之后的标识符将成为以字符串形式传递给默认属性的参数值。

由于Fields是"默认" RecordsetItem的属性是Fields的默认属性,

RS!field

编译为

RS.Fields("field")

技术上

RS.Fields.Item("field")

请注意,您也可以

RS("field")
  

比另一个更好/更快/更优先?

更快?不是。首选?那么后一种用法与其他.NET语言更加一致,因此在大圈子中它可能是首选。