Это ADO в классическом ASP.
У меня есть хранимая процедура с параметром @IsNew типа int.
Я могу позвонить через SQL:
EXEC [dbo].[SearchVehicles]
@WebsiteName = N'AMSVans',
@SortOrder = N'Year DESC,Status ASC',
@Statuses = N'Unsold',
@IsNew = 1
И наборы возврата в точности соответствуют ожиданиям.
Однако, когда я пытаюсь использовать его на своей веб-странице:
cmd.CommandText = "AMSVans.dbo.SearchVehicles"
cmd.CommandType = adCmdStoredProc
cmd.Parameters.Append cmd.CreateParameter("@WebsiteName", adVarChar, , 75, "AMSVans")
cmd.Parameters.Append cmd.CreateParameter("@SortOrder", adVarChar, , 500, "Year DESC,Status ASC," + SortMethod)
cmd.Parameters.Append cmd.CreateParameter("@Statuses", adVarChar, , 500, Statuses)
cmd.Parameters.Append cmd.CreateParameter("@IsNew", adInteger, , 4,1)
cmd.Parameters.Append cmd.CreateParameter("@Categories", adVarChar, , 500, "AMS Vans")
Set r = cmd.Execute
Я ничего не получаю. Нада. Шиш.
Я даже не уверен, с чего начать отладку: - /
Обновление RE «Установить учетную запись вкл.»:
Интересно, что если я выключу его (т.е. закомментирую эту строку), я получу эту ошибку:
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
/pages/inventory/main.asp, line 109
Соответствующая строка (r - набор записей):
if not (r.EOF and r.EOF) then invFound = true