2013-08-21 70 views
1

我在構建數據集合時遇到問題。問題代碼如下:VB6 - 未添加到集合中的項目

'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 

這一切都不錯吧,我沒有得到項目1,項目2和Item3直接在uCustomClass下但僅在mCol中。我看起來與其他自定義類運行的代碼完全相同,並且我得到了我想要的內容

-uCustomClassThatWorks 
     +connection 
     count 
     + mcnn 
     -mCol 
      +Item1 
      +Item2 
      +Item3  
     +mrs 
     mvarChangedCount 
     +NewEnum 
     +Item1 
     +Item2 
     +Item3 

任何想法的問題可能是?

回答

1

不知道uCustomClass將如何獲得這些項目添加。有一些缺少的代碼或什麼?

值得一提的是,集合不能多次擁有相同的鍵,這可以解釋爲什麼它們能夠被添加到一個區域,但無法再被添加。可能有些東西甚至會修剪字符串或會加劇情況的事情。所以只要確保你的鑰匙是獨一無二的。

相關問題