Выполнение SQL Server хранимых процедур со страницы ASP
В этой статье показано, как выполнить SQL Server хранимых процедур и использовать параметры со страницы ASP.
Оригинальная версия продукта: службы IIS
Исходный номер базы знаний: 300488
Сводка
В этой статье предполагается, что вы знакомы с процедурой использования объектов данных ActiveX (ADO) на странице ASP.
Пошаговый пример
Выполните следующий запрос в анализаторе запросов SQL Server или SQL Server Management Studio к базе данных Pubs:
CREATE proc MyProc ( @price smallint, @out smallint OUTPUT ) AS Select @out = count(*) from titles where price < @price GO
Хранимая процедура (
MyProc
) принимает один входной параметр (@price
) и возвращает один выходной параметр (@out
).Примечание.
По умолчанию
Northwind
пример базы данных и примеры баз данных pubs не устанавливаются в SQL Server 2005 г. Эти базы данных можно скачать из Центра загрузки Майкрософт. Дополнительные сведения о том, как скачать пример базы данных Northwind и пример базы данных pubs, посетите следующий веб-сайт Майкрософт: Скачивание примеров баз данных Northwind и pubsСледующий пример кода ASP вызывает только что созданную хранимую процедуру. Этот код ASP можно использовать для настройки входного параметра и выполнения запроса.
Используйте метод для
CreateParameter
создания параметров в ADO следующим образом:Set myParameter = Command.CreateParameter (Name, [Type], [Direction], [Size], [Value])
Добавлен параметр в коллекцию Parameters следующим образом:
Command.Parameters.Append myParameter
Примечание.
Параметры в коллекции Parameters должны соответствовать порядку параметров в хранимой процедуре.
Выполните команду , чтобы передать значения параметров в хранимую процедуру и из нее следующим образом:
<% Dim cmd Dim ln Dim retCount Set cmd = Server.CreateObject("ADODB.Command") With cmd .ActiveConnection = "Paste your connection string here" .Commandtext = "MyProc" .CommandType = adCmdStoredProc .Parameters.Append .CreateParameter("@price", adSmallInt, adParamInput, 10).Parameters("@price") = 22 .Parameters.Append .CreateParameter("@retValue", adSmallInt, adParamOutput, 10).Execute ln, , adExecuteNoRecords retCount = .Parameters("@retValue") End with Response.Write retcount Set cmd = Nothing %>
Примечание.
Константы, используемые в этом примере, можно найти в файле Adovbs.inc . Этот файл устанавливается во время установки active Server Pages и помещается в папку
\Aspsamp\Samples
, которая обычно находится в вашей\Inetpub
папке. Рекомендуется использовать константы, а не числовые значения при вызове хранимой процедуры, чтобы упростить чтение и обслуживание кода.<%@ LANGUAGE = VBScript %> <!-- #INCLUDE VIRTUAL="/ASPSAMP/SAMPLES/ADOVBS.INC" -->
Измените строка подключения ADO в соответствии с вашей средой.
Сохраните страницу ASP и просмотрите ее в браузере.
Примечание.
Если вы не знаете о параметрах хранимой процедуры, определить, как правильно вызвать хранимую процедуру, может быть трудно. Без правильной информации невозможно правильно создать параметры ADO. Метод Refresh объекта Parameter можно использовать для автоматического заполнения коллекции Parameters на основе определения хранимой процедуры на сервере. Например:
Command.Parameters.Refresh
Ссылки
Дополнительные сведения см. в статье Создание простого приложения данных с помощью ADO.NET.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по