Обучение использованию хранимых процедур - один из курсов, которые программисты ASP должны изучать. Все крупные базы данных поддерживают хранимые процедуры. Сегодняшняя статья представляет собой полную коллекцию использования хранимых процедур ASP, разделяемых редактором редактора новой технологии. Давайте перейдем к следующей статье, чтобы узнать больше!
1. Вызовите хранимые процедуры без параметров
<%
Установить conn = server.createObject ("adodb.connection")
Установить cmd = server.createObject ("adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
Conn.Open Strconn
Установить cmd.ActiveConnection = conn
cmd.commandtext = "{call nono}"
'set rs = cmc.exe или cmd.execute
Установите rs = cmd.execute ()
%>
2. Хранитованная процедура для входных параметров
<%
Установить conn = server.createObject ("adodb.connection")
Установить cmd = server.createObject ("adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
Conn.Open Strconn
Установить cmd.ActiveConnection = conn
cmd.commandtext = "{Call OneInput (?)}"
cmd.parameters.append cmd.createparameter ("@aaa", adinteger, adparaminput)
cmd ("@aaa") = 100
cmd.execute ()
%>
3. Входной параметр и выходной параметр
<%
Установить conn = server.createObject ("adodb.connection")
Установить cmd = server.createObject ("adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
Conn.Open Strconn
Установить cmd.ActiveConnection = conn
cmd.commandtext = "{Call OneInout (?,?)}"
cmd.parameters.append cmd.createparameter ("@aaa", adinteger, adparaminput)
cmd ("@aaa") = 10
cmd.parameters.append cmd.createparameter ("@bbb", adinteger, adparamoutput)
cmd.execute ()
bbb = cmd ("@bbb")
%>
4. Один входной параметр, один выходной параметр и одно возвратное значение
<%
Установить conn = server.createObject ("adodb.connection")
Установить cmd = server.createObject ("adodb.command")
strconn = "dsn = pubs; uid = sa; pwd"
Conn.Open Strconn
Установить cmd.ActiveConnection = conn
cmd.commandtext = "{? = Call OneerTurn (?,?)}"
cmd.parameters.append cmd.createparameter ("@return_value", adinteger, adparamreturnvalue)
cmd.parameters.append cmd.createparameter ("@aaa", adinteger, adparaminput)
cmd ("@aaa") = 10
cmd.parameters.append cmd.createparameter ("@bbb", adinteger, adparamoutput)
cmd.execute ()
bbb = cmd ("@bbb")
rrr = cmd ("@return_value")
%>
Как вызвать хранимую процедуру SQL в ASP
www.lucky365.net 2002-2-7 Jixiang365
<%set connection1 = server.createObject ("adodb.connection")
Connection1.open ... 'Join
set Command1 = server.createObject ("adodb.command")
SET COMMAND1.ActiveConnection = Connection1
command1.commandtype = 4
command1.commandtext = "sp_1" 'sp name
command1.parameters (1) = ... 'Значение параметров
Command1.parameters (2) = ...
Установить recordset1 = command1.execute ()
%>
Советы по вызову сохраненных процедур
1. Самый простой - это следующее
Dim objconn
Установить objconn = server.createObject ("adobd.connection")
objconn.open Application ("connection_string")
'Позвоните в сохраненную процедуру, чтобы увеличить счетчик на странице
objconn.execute "exec sp_addhit"
Нет параметров, нет возврата, без обработки ошибок, вот и все
2. Вызов с параметрами
objconn.execute "exec sp_addhit 'http://www.aspalliance.com', 1"
Обратите внимание, что параметры разделения не возвращаются в записи.
3. Вернуться к записи
Dim objconn
Dim objrs
Установить objconn = server.createObject ("adobd.connection")
Установить objrs = server.createObject ("Adobd.recordset")
objconn.open Application ("connection_string")
'Позвоните в сохраненную процедуру, чтобы увеличить счетчик на странице
objrs.open objconn, "exec sp_listarticles '15.01.2001'"
'Проверка через набор записей и отображение каждой статьи
4 ....
Dim objconn
Dim objcmd
'Создание объектов
Установить objconn = server.createObject ("adodb.connection")
Установить objcmd = server.createObject ("adodb.command")
Conn.Open Application ("ConnectionString")
С objcmd
.ActiveConnection = conn 'Вы также можете просто указать строку подключения здесь
.Commandtext = "sp_insertarticle"
.CommandType = adcmdStoredProc 'требует файла adovbs.inc или метага типелиба
'Добавьте входные параметры
.Parameters.append .createParameter ("@ulborist_id", addouble, adparaminput,, collostist_id)
.Parameters.append .createParameter ("@url", advarchar, adparaminput, 255, url)
.Parameters.append .createParameter ("@title", Advarchar, Adparaminput, 99, URL)
.Parameters.append .createParameter ("@description", adlongvarchar, _
adparaminput, 2147483647, описание)
'Добавить выходные параметры
.Parameters.append .createParameter ("@link_id", adinteger, adparamoutput ,, 0)
'Выполните функцию
'Если не возвращать набор записей, используйте параметр AdexeCutenoreCords.
.Execute ,, adexecutenorecords
link_id = .parameters ("@link_id")
Закончить с
5. Код хранимой процедуры
Создать процедуру dbo.sp_insertarticle
(
@columnist_id int,
@URL VARCHAR (255),
@title varchar (99),
@description текст
@link_id int output
)
КАК
НАЧИНАТЬ
Вставьте в dbo.t_link (collostist_id, url, заголовок, описание)
Значения (@collostist_id,@url,@title,@description)
Выберите @link_id = @@ Identity
КОНЕЦ
Несколько способов вызвать хранимые процедуры с параметрами
Недавно многие друзья задавали вопросы о вызове хранимых процедур. Вот краткое введение в несколько методов сохраненных процедур вызова ASP с параметрами.
1 Это также самый простой метод, с двумя входными параметрами, без возврата:
set connection = server.createObject ("adodb.connection")
Connection.open onesn
Connection.Execute "procname varvalue1, varvalue2"
'' Освободить все объекты в ничего, освободите ресурсы
Connection.close
установить соединение = ничего
2 Если вы хотите вернуть набор записей:
set connection = server.createObject ("adodb.connection")
Connection.open onesn
Установить rs = server.createObject ("adodb.recordset")
Rs.open "exc procname varvalue1, varvalue2", соединение
'' Освободить все объекты в ничего, освободите ресурсы
Rs.close
Connection.close
Установить RS = ничего
установить соединение = ничего
3 Вышеуказанные два метода не могут иметь возвращаемого значения (кроме набора записей). Если вы хотите получить возвратное значение, вам нужно использовать метод команды.
Прежде всего, есть два типа возвратных значений. Одним из них является непосредственное возвращение значения в хранимой процедуре, как и функции возвращаемых значений C и VB; Другой - вернуть несколько значений,
Имена переменных, которые хранят эти значения, должны быть указаны сначала в параметре вызова.
Этот пример будет иметь дело с несколькими параметрами, входными параметрами, выходными параметрами, возвращением Recordsets и прямого возвращаемого значения (достаточно ли это?)
Хранящаяся процедура заключается в следующем:
Использование пабов
ИДТИ
- Создать хранимые процедуры
Создать процедуру sp_pubstest
- Определите три переменных параметра, обратите внимание на третью, специальную оценку используется для вывода
@au_lname varchar (20),
@intid int,
@intidout int output
КАК
Выберите @intidout = @intid + 1
ВЫБИРАТЬ *
От авторов
Где au_lname нравится @au_lname + ''%''
-Покупайте значение напрямую
Вернуть @intid + 2
Программа ASP, которая называет хранимую процедуру, заключается в следующем:
< %@ Language = vbscript %>
<%
Dim cmdsp
Dim Adors
Dim adcmdspstoredproc
Dim adparamreturnValue
Dim adparaminput
Dim adparamoutput
Dim Adinteger
Dim Ival
Тусклый овал
Dim Adofield
Dim Advarchar
«Эти значения являются предопределенными константами в VB и могут быть названы напрямую, но не предопределены в VBScript
adcmdspstoredproc = 4
adparamreturnValue = 4
adparaminput = 1
adparamoutput = 2
Adinteger = 3
Advarchar = 200
IVAL = 5
овальный = 3
'' Создать командный объект
Установить cmdsp = server.createObject ("adodb.command")
'Создайте ссылку
Cmdsp.activeconnection = "Driver = {sql server}; server = (local); uid = sa; pwd =; database = pubs"
'' Определите имя вызова объекта команды
Cmdsp.commandtext = "sp_pubstest"
«Установите тип командного вызова в качестве хранимой процедуры (Adcmdspstoredproc = 4)
Cmdsp.commandtype = adcmdspstoredproc
'' Добавить параметры в объект команды
'' Определение хранимой процедуры имеет прямое возвратное значение и является целым числом, значение по умолчанию равно 4
Cmdsp.parameters.append cmdsp.createParameter ("return_value", Adinteger, AdparamReTurnValue, 4)
'' Определите параметр ввода символа
Cmdsp.parameters.append cmdsp.createparameter ("@au_lname", Advarchar, Adparaminput, 20, "M")
'Определите целочисленный входной параметр
Cmdsp.parameters.append cmdsp.createparameter ("@intid", adinteger, adparaminput ,, ival)
'Определите целочисленный выходной параметр
Cmdsp.parameters.append cmdsp.createparameter ("@intidout", adinteger, adparamoutput, oval)
'Запустите хранимую процедуру и получите набор возврата записей
Установить adors = cmdsp.execute
'' Распечатайте каждую запись, поля в нем виртуальны, вы можете игнорировать ее
В то время как не Adors.eof
Для каждого adofield в adors.fields
Response.write adofield.name & "=" & adofield.value & "
"& vbcrlf
Следующий
Response.write "
"
Adors.movenext
Венд
'' Печать два выходных значения:
Response.write "
@intidout = "& cmdsp.parameters ("@intidout "). Value &"
"
Response.write "
Return value = "& cmdsp.parameters (" return_value "). Value &"
"
'Большая уборка
Установить Adors = ничего
Установить cmdsp.activeconnection = ничего
Установить cmdsp = ничего
%>
Есть и другие способы, которые немного отключены, и я расскажу об этом позже
Эта статья ссылалась на многие статьи и не будет перечислена здесь.
Использование хранимых процедур в ASP
Чтобы повысить эффективность программ ASP, иногда необходимо использовать технологию хранения с использованием SQL Server в ASP. Вот краткое введение.
Создание хранимых процедур
Вот краткое введение в то, как установить хранимые процедуры в Enterprise Manager SQL Server:
(1) Менеджер Open Enterprise
(2) Выберите группу серверов (группа SQL Server), сервер, базу данных (база данных) и соответствующую базу данных, щелкните правой кнопкой мыши элемент сохраненного Procdures в соответствии с соответствующей базой данных, выберите «Новую сохраненную процедуру» в меню всплывающего окна и введите оператор для создания хранимой процедуры в сохраненных процедурах. Вот пример:
Создать процедуру проведу @mycola char (10),@mycolb char (10),@mycolc text как
Вставьте в Чатдату (Mycola, Mycolb, Mycolc) Values (@mycola,@mycolb,@mycolc)
В документации SQL Server его синтаксис:
Создать proc [endure] proceadure_name [; number] [
{@parameter data_type} [изменение] [= default] [output]]
[, ... n] [с {recompile | Шифрование
| Recompile, шифрование}] [для репликации] как
sql_statement [... n]
Если вы не знакомы с синтаксисом SQL, вы можете использовать синтаксис проверки для проверки синтаксиса. В приведенном выше примере это означает, что хранящаяся процедура создается с помощью хранимой процедуры под названием Mycola и 3 параметра. Первый параметр Mycola Data Type - Char и ширина 10; Второй тип данных параметра - Char и ширина 10, а третий тип данных параметра - текст. Вот тип данных SQL Server.
После того, как хранящаяся процедура установлена, следующее приведено, как вызвать хранимую процедуру в программе ASP: для повышения эффективности программы ASP иногда необходимо использовать технологию хранения с использованием SQL Server в ASP. Вот простой способ добавить параметры в приведенном выше утверждении P.Append cm.createParameter ("@mycolc", 201, 1, 250), формат:
P.Append Cm.createParameter («Имя параметра», тип, направление, размер)
Значение типа значения параметра следующее:
Значение имени функция значения значения
addbtimestamp 135 Тип данных даты и времени
Addecimal 14 десятичного целого числа
Addouble 5 двойного десятичного значения точности
Сообщение об ошибке системы Aderror 10
Adguid 72 глобально уникальный идентификатор
Addispath 9 com/ole автоматический объект (объект автоматизации)
Adinteger 3 4-Byte подписано целое число
Adiunknown 13 com/OLE Object
adlongvarbinary 205 большое 2-байтовое значение
Adlongvarchar 201 Большое строковое значение
Adlongvarwchar 203 большая некодированная строка
Adnumeric 131 десятичное целое значение
Adsingl 4 однооперационная плавающая точка десятичная
adsmallint 2 2-byte подписано целое число
adtinyint 16 1 байт подписано целое число
AdunSignedBigInt 21 8-Byte Unsigned Integer
AdunSignedInt 19 4-Byte unsigned integer
AdunSignedSmallint 18 2-Byte unsigned integer
AdunSignedTinyint 17 1 байт без знака целочисленного
AduserDefined 132 пользовательский тип данных
Адварьарт 12 OLE -объект
Advarbinary 204 Двойной байт -переменная переменная переменная
advarchar 200 necumment переменная
Advarchar 202 Некодированное значение переменной строки
adwchar 130 некодированная строка
Значение значений направления заключается в следующем:
Значение имени функция значения значения
adparaminput 1 Разрешить ввести данные в этот параметр
adparamoutput 2 позволяет выводить данные в этот параметр
adparaminputOutput 3 позволяет вводить данные и выходить в этот параметр
AdParamRemRewurnValue 4 позволяет возвращать данные из подпрограммы к этому параметру
Выше приведено полная коллекция использования хранимых процедур ASP, собранных редактором неправильного нового технологического канала. Я надеюсь, что это поможет вашему обучению!