2009-09-19 48 views
1

我從來沒有在ASP中開發過我的生活,但客戶希望在他非常可怕的ASP程序之一中擴展一些其他功能。我儘可能在短時間內儘可能地提取,但我在這裏遇到了一個謎。處理ASP時的神祕類型不匹配

當我在本地系統上對此代碼進行單元測試時,它工作正常。在他們的網絡服務器,但是,執行下面的代碼的時候,我上線「ITEM_IDS = ...」

任何建議類型不匹配?

謝謝! -DREW

Item_IDs = RetrieveSerialItem_IDs(Serial_IDs(y)) 

function RetrieveSerialItem_IDs(Serial_ID) 

    '' # Execute query and return data in an array 
    strQuery = "SELECT Item_ID FROM Store_Items_Serials WHERE Serial_ID = " & Serial_ID & ";" 
    RetrieveSerialItem_IDs = RunSelectQuery(strQuery, "Item_ID") 

end function '' # RetrieveSerialItem_IDs 

'' # Function to execute a SELECT query from our database 
'' # returns: the results of the query as a one-dimensional array -- do not use for multiple-column select statements 
function RunSelectQuery(strSelectQuery, strColumnName) 
+0

我也只記得一些潛在相關的東西。 Item_IDs在for循環的上下文中被重複寫入。這可能與它有關嗎? – ModeEngage 2009-09-19 18:06:31

+0

粘貼完整的錯誤消息。 「類型不匹配」這個短語不會告訴任何有關錯誤實際發生的地方。 – Guffa 2009-09-19 18:46:24

+0

@Guffa我會的,但這家公司聘請的其他承包商暫時已經完全安裝了網絡服務器。我堅持自己調試這個。 – ModeEngage 2009-09-19 20:25:52

回答

1

在我的書中,90%的時間,這種錯誤是因爲SQL是壞的。

其他問題,我看到的,是你未聲明的變量(不知是不是需要在服務器,而不是在你的開發機)

如何在ASP經典的調試:

Item_IDs = RetrieveSerialItem_IDs(Serial_IDs(y)) 

function RetrieveSerialItem_IDs(Serial_ID) 

    ''//Please, declare your variables 
    dim strQuery 

    ''//Execute query and return data in an array 
    strQuery = "SELECT Item_ID FROM Store_Items_Serials WHERE Serial_ID = " 
    strQuery = strQuery & Serial_ID & ";" 

    response.write strQuery 
    response.end 

    ''// Now, paste the StrQuery text obtained in your sql console and test it 


    RetrieveSerialItem_IDs = RunSelectQuery(strQuery, "Item_ID") 

end function 
+0

啊,沒有聲明我的變量是PHP的擱置。我從現在開始這樣做。 – ModeEngage 2009-09-19 20:26:40

0

如果相同的查詢字符串變量get的使用不止一次傳統的ASP將其視爲逗號分隔的列表。

因此,一個URL爲foobar.asp?id = 1 & id = 2 & id = 3意味着id變量最終爲「1,2,3」 - 一個字符串,而不是一個數組。