我使用VS2015和我的作品,但該文件必須有一個ASP擴展。它只能在Created對象的直接範圍內工作。
例如:
set command = CreateCommandWithParameters(Me.conn, parameterizedQuery, values)
Command.... 'no intellisense here because Server.CreateObject was called in a Function elsewhere
但我獲得智能下面就好了。
Private Function CreateCommand(connection, query, commandType)
if (commandType <> adCmdText AND commandType <> adCmdTable AND commandType <> adCmdStoredProc AND commandType <> adCmdFile AND commandType <> adCmdTableDirect) then Err.Raise 16001, "Invalid Command Type", "Must be, adCmdText, adCmdTable, adCmdStoredProc, adCmdFile, adCmdTableDirect"
Set CreateCommand = Server.CreateObject("ADODB.Command")
Set CreateCommand.ActiveConnection = connection
CreateCommand.ActiveConnection = connection
CreateCommand.NamedParameters = true
CreateCommand.CommandText = query
CreateCommand.CommandType = commandType
CreateCommand.CommandTimeout = 120 '2 minutes....
CreateCommand.Prepared = true
End Function
這也可能是因爲我有在Global.asa
<!--METADATA TYPE="TypeLib" file="C:\Program Files (x86)\Common Files\System\ado\msado15.dll" -->
進口最後要注意的類型庫,而它在某些情況下,上的Server.CreateObject工作.....它不適用於用戶定義的子類,類和函數...
我基本上已經習慣了沒有智能感知。 VBScript不區分大小寫,所以它沒有讓我感到困擾。
是所有COM對象還是ADODB問題?例如,嘗試設置msg = Server.CreateObject(「CDO.Message」)',並在鍵入「msg。」時查看是否獲得智能感知。我有一個雙啓動機器。在Windows 7上,我沒有獲得ADODB對象的智能感知,但是當我在Win 8中運行它時,我會這樣做。我懷疑答案在於哪個dll被註冊。三年前,我問了一個關於這個問題,它沒有回覆,最終被刪除。我也發現msdn上的這個線程沒有給出令人滿意的答案。 – John
MSDN上的這個主題可能很有用,雖然沒有令人滿意的答案。 https://social.msdn.microsoft.com/Forums/en-US/73615acc-1cc0-4dfc-bcc1-f86a416de8a7/the-intellisense-does-not-work-for-any-adodb-objects-with-vs2008vs2010- in-windows-7?forum = vbide – John