Часто ли мы размышляем о некоторых проблемах, когда мы учим, что ASP называют хранимыми процедурами? Например, как управлять методом вызова хранимых процедур? Каковы параметры, передаваемые в хранимые процедуры и т. Д. Сегодня новый технологический канал ошибки приведет вас к следующей статье, чтобы узнать эти знания. Я надеюсь, что это будет полезно для вашего обучения!
1. Общие методы вызова хранимых процедур
Во -первых, давайте предположим, что в SQL Server существует хранящаяся процедура DT_USERS:
Создать процедуру [DBO]. [DT_USERS]
КАК
выберите * от пользователей
Возвращаться
ИДТИ
Первым методом является использование объекта записи без использования объекта команды,
Установить rs = server.createObject ("adodb.recordset")
sql = "exec dt_users"
Rs.open SQL, Conn, 1,1
Второй метод - использовать объект команды
Установить comm = server.createObject ("adodb.command")
comm.commantype = 4
Установить Comm.ActiveConnection = conn
comm.commandtext = "dbo.dt_users"
Установить rs = server.createObject ("adodb.recordset")
Rs.Open Comm, 1,1
2. Передайте параметры к хранимым процедурам
Если в хранимой процедуре нет параметров, но единого оператора SQL, преимущества вызова хранимых процедур не могут быть показаны!
Например, запрос BBS может быть запрошен автором и темой! Тогда хранимая процедура может быть установлена следующим образом:
Ключевым словом параметра является ключевое слово, и выберите метод выбора запроса.
Создать процедуру [DBO]. [DT_BBS]
@keyword varchar (20) = null,
@choose int = null
как
Если @Выберите = 1
Выберите * из BBS, где имя, как @keyword
еще
Выберите * из BBS, где такая тема, как @keyword
Возвращаться
идти
Таким образом, когда мы называем хранимые процедуры, нам просто нужно передать параметры и пропустить написание программы в ASP
Используйте первый метод:
Установить rs = server.createObject ("adodb.recordset")
SQL = "EXEC DT_BBS '" & Keyword & "'," & Select & ""
Rs.open SQL, Conn, 1,1
Используйте второй метод:
Установить comm = server.createObject ("adodb.command")
comm.commantype = 4
comm.parameters.append comm.createParameter ("@Keyword", Adchar, Adparaminput, 50, ключевое слово)
comm.parameters.append comm.createParameter ("@Keyword", Adinteger, Adparaminput, выберите)
Установить Comm.ActiveConnection = conn
comm.commandtext = "dbo.dt_bbs"
Установить rs = server.createObject ("adodb.recordset")
Rs.cursortype = 3
Rs.Open Comm, 1,1
3. Дальнейшее обсуждение
Сравнивая два метода, которые я упоминал выше, чтобы назвать хранимые процедуры в ASP,
Первый метод требует меньше объектов, но объект RecordSet поддерживает гораздо меньше свойств, таких как: Rs.recordCount, Rs.PageCount, Rs.absolutePage и другие свойства.
Ни один из них не поддерживает его, поэтому существуют ограничения на использование первого метода. Например, когда вы хотите отображать записи на страницах, вы должны использовать второй метод.
Цель использования хранимых процедур в SQL Server состоит в том, чтобы ускорить, но когда в хранимой процедуре есть много операторов SQL, его преимущества особенно очевидны. Если не так много операторов SQL,
Когда мы используем второй метод, мы должны создать дополнительный командный объект, который может замедлиться! Таким образом, мы должны сбалансировать интересы всех аспектов для использования хранимых процедур.
Однако я думаю, что скорость такая хорошая. Использование хранимых процедур может сделать программу более модульной, простой в изменении и отладке (вы можете напрямую отладить в SQL Server, не изучая результаты ASP в соответствии с IE).
Выше приведено введение в хранимые процедуры для вызовов ASP. Я надеюсь, что вам будет полезно изучить эти знания. Я также надеюсь, что все будут продолжать поддерживать неправильный новый канал технологии!