Это ADO в классическом ASP.Проблема ADO, параметр "@IsNew" не приводит к возврату результатов?
У меня есть хранимая процедура с параметром @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
я не вернусь ничего. Нада. Шиш.
Я даже не знаю, где начать отладку этой: -/
Update RE "Установить NOCOUNT на":
Интересно, если я отключить его (т.е. комментарий из этой линии), я получаю эту ошибку:
ADODB.Recordset error '800a0e78'
Operation is not allowed when the object is closed.
/pages/inventory/main.asp, line 109
линия в вопросе (г является записей):
if not (r.EOF and r.EOF) then invFound = true
Эй вы возвращаете несколько наборов результатов? – cmsjr
Да. (Теперь он работает после того, как я заполнил значения по умолчанию для параметров, которые были «отсутствуют») – Matt