Hoje, o editor compartilhará com você como chamar procedimentos armazenados no ASP. Amigos interessados aprenderão sobre isso com o editor!
1 Este também é o método mais fácil, com dois parâmetros de entrada, sem valor de retorno:
Definir conexão = server.createObject ("adodb.connection")
Connection.open Somentesn
Connection.Execute "ProcName varValue1, varValue2"
'Limpe todos os objetos em nada, liberte recursos
Connection.Close
Definir conexão = nada
2 Se você quiser devolver o conjunto de registros:
Definir conexão = server.createObject ("adodb.connection")
Connection.open Somentesn
set rs = server.createObject ("adodb.recordset")
Rs.open "Exec procname varValue1, varValue2", conexão
'Limpe todos os objetos em nada, liberte recursos
rs.close
Connection.Close
Definir rs = nada
Definir conexão = nada
3 Os dois métodos acima não podem ter um valor de retorno (exceto o registro). Se você deseja obter o valor de retorno, precisará usar o método de comando.
Primeiro de tudo, existem dois tipos de valores de retorno. Um é retornar diretamente um valor no procedimento armazenado, assim como as funções dos valores de retorno C e VB; O outro é retornar vários valores e os nomes de variáveis que armazenam esses valores precisam ser especificados primeiro nos parâmetros de chamada.
Este exemplo lidará com vários parâmetros, parâmetros de entrada, parâmetros de saída, registros de retorno e um valor de retorno direto (é tudo o suficiente?)
O procedimento armazenado é o seguinte:
Use bares
IR
- Crie procedimentos armazenados
Crie procedimento sp_pubstest
- Defina três variáveis de parâmetros, observe o terceiro, a marca especial é usada para saída
@au_lname varchar (20),
@intid int,
@Intidout int Output
COMO
Selecione @intidout = @intid + 1
Selecione *
De autores
Onde Au_lname como @au_lname + '%'
--retorno um valor diretamente
Retornar @intid + 2
O programa ASP que chama o procedimento armazenado é o seguinte:
Dim CMDSP
Adores fracos
Dim ADCMDSPStoredProc
AdparamReTurvalValue escuro
Adparaminput dim
AdparamOutput
Dim Adinteger
Dimival
Dim oval
Dim ADOfield
Dim
'Esses valores são constantes predefinidos em VB e podem ser chamados diretamente, mas não são predefinidos no VBScript
ADCMDSPStoredProc = 4
adparamreturnValue = 4
adparaminput = 1
adparamOutput = 2
adinteger = 3
ADV = 200
IVAL = 5
oval = 3
'Crie um objeto de comando
Definir cmdsp = server.createObject ("adodb.command")
'Crie um link
Cmdsp.activeConnection = "driver = {sql server}; server = (local); uid = sa; pwd =; database = pubs"
'Defina o nome da chamada do objeto de comando
Cmdsp.CommandText = "sp_pubstest"
'Definir tipo de chamada de comando como procedimento armazenado (adcmdsptoredproc = 4)
Cmdsp.CommandType = ADCMDSPStoredProc
'Adicione parâmetros ao objeto de comando
'Definir o procedimento armazenado tem um valor de retorno direto e é um número inteiro, o valor padrão é 4
Cmdsp.parameters.append cmdsp.createParameter ("return_value", adinteger, adparamreturnValue, 4)
'Defina um parâmetro de entrada de personagem
Cmdsp.parameters.append cmdsp.createParameter ("@au_lname", avançar, adparaminput, 20, "m")
'Defina um parâmetro de entrada inteira
Cmdsp.parameters.append cmdsp.createParameter ("@intid", adinteger, adparaminput, ival)
'Defina um parâmetro de saída inteira
Cmdsp.parameters.append cmdsp.createParameter ("@intidout", adinteger, adparamoutput, oval)
'Execute o procedimento armazenado e obtenha o conjunto de registros de retorno
SET ADORS = CMDSP.EXECUTE
'Imprima cada registro, cujos campos são virtuais, você pode ignorá -lo
Embora não seja ADORS.EOF
Para cada Adofield em Adors.fields
Response.Write Adofield.Name & "=" & Adofield.value & "
"& Vbcrlf
Próximo
Resposta.write "
"
ADORS.Movenext
Wend
'Imprima dois valores de saída:
Resposta.write "
@intidout = "& cmdsp.parameters ("@intidout "). Valor &"
"
Resposta.write "
Valor de retorno = "& cmdsp.parameters (" return_value "). Valor &"
"
'Grande limpeza
Definir Adores = nada
Defina CMDSP.ActiveConnection = nada
Definir CMDSP = nada
%>
Existem outras maneiras, que estão um pouco fora, e eu vou falar sobre isso mais tarde
Este artigo referenciou muitos artigos e não será listado aqui.
O exposto acima é uma introdução a como chamar procedimentos armazenados no ASP. Espero que o conhecimento e os materiais relevantes compilados pelo editor sejam úteis para você. Para mais conteúdo, continue prestando atenção ao site do Wuxin Technology Channel!