我在构建数据集时遇到问题。问题代码如下:
'Basic defitions are as follows:
Private mCol As Collection
Dim mcnn As ADODB.Connection
Dim mrs As New ADODB.Recordset
Dim uCustomClass As CustomClass
On Error GoTo 0
'set Find to false to catch any errors
Find = False
'checks for an active connection and then..
Set mCol = Nothing
Set mCol = New Collection
With mrs
.Open AN_SQL_SELECT_STATEMENT , mcnn, adOpenForwardOnly, adLockOptimistic
While Not .EOF
Set uCustomClass = New CustomClass
Set uCustomClass.Connection = mcnn
uCustomClass.CustomerName = NullToEquiv(.Fields("customer_name").Value,NULL_STRING)
uCustomClass.NumberOfOrders = NullToEquiv(.Fields("num_of_orders").Value, NULL_LONG)
uCustomClass.FavoriteColour = NullToEquiv(.Fields("favorite_colour").Value, NULL_STRING)
'Cache orginal values in case the keys change
uCustomClass.CacheOriginalValues
'add to collection
mCol.Add uCustomClass
.MoveNext
Wend
现在运行时的结果是uCustomClass树结构如下所示:
-uCustomClass
+connection
count
+ mcnn
-mCol
+Item1
+Item2
+Item3
+mrs
mvarChangedCount
+NewEnum
这一切都很好吧我没有直接在uCustomClass下获得Item1,Item2和Item3,而只是在mCol中。我似乎是在其他地方为不同的自定义类运行的完全相同的代码,我得到了我想要的东西,例如。
-uCustomClassThatWorks
+connection
count
+ mcnn
-mCol
+Item1
+Item2
+Item3
+mrs
mvarChangedCount
+NewEnum
+Item1
+Item2
+Item3
可能存在问题的任何想法?
答案 0 :(得分:1)
不确定uCustomClass
如何添加这些项目。是否有一些丢失的代码?
值得一提的是,集合不能多次使用相同的密钥,这可以解释为什么它们可以添加到一个区域中,但不能再次添加。可能有些东西甚至会修剪字符串或会加剧情况。因此,请确保您的密钥是唯一的。