Muitas vezes, refletimos sobre alguns problemas quando aprendemos a ASP a chamar procedimentos armazenados? Por exemplo, como operar o método de chamar procedimentos armazenados? Quais são os parâmetros que passam para procedimentos armazenados, etc. Hoje, o novo canal de tecnologia do bug o levará ao artigo a seguir para aprender esses conhecimentos. Espero que seja útil para o seu aprendizado!
1. Métodos gerais de chamada procedimentos armazenados
Primeiro, vamos supor que exista um procedimento armazenado DT_USERS no servidor SQL:
Criar procedimento [DBO]. [DT_USERS]
COMO
Selecione * dos usuários
Retornar
IR
O primeiro método é usar o objeto RecordSet sem usar o objeto de comando,
set rs = server.createObject ("adodb.recordset")
SQL = "Exec dt_users"
Rs.Open SQL, Conn, 1,1
O segundo método é usar o objeto de comando
Definir comm = server.createObject ("adodb.command")
Comm.Commantype = 4
Defina comm.activeConnection = Conn
Comm.CommandText = "DBO.DT_USERS"
set rs = server.createObject ("adodb.recordset")
Rs. aberto comm ,, 1,1
2. Passe os parâmetros para procedimentos armazenados
Se não houver parâmetros no procedimento armazenado, mas uma única instrução SQL, as vantagens de chamar procedimentos armazenados não poderão ser mostrados!
Por exemplo, uma consulta do BBS pode ser consultada pelo autor e pelo tópico! Em seguida, o procedimento armazenado pode ser estabelecido da seguinte forma:
A palavra -chave do parâmetro é a palavra -chave e a escolha é o método para selecionar a consulta.
Criar procedimento [DBO]. [DT_BBS]
@keyword varchar (20) = null,
@Choose int = null
como
Se @escolher = 1
Selecione * do BBS, onde o nome como @keyword
outro
Selecione * do BBS onde o assunto como @keyword
Retornar
ir
Dessa forma, quando chamamos de procedimentos armazenados, só precisamos passar os parâmetros e omitir escrevendo um programa no ASP
Use o primeiro método:
set rs = server.createObject ("adodb.recordset")
sql = "Exec dt_bbs '" & Keyword & "'," & escolha & ""
Rs.Open SQL, Conn, 1,1
Use o segundo método:
Definir comm = server.createObject ("adodb.command")
Comm.Commantype = 4
Comm.parameters.Append Comm.CreateParameter ("@Keyword", ADCAR, Adparaminput, 50, palavra -chave)
Comm.Parameters.Append Comm.CreateParameter ("@Keyword", Adinteger, Adparaminput ,, Escolha)
Defina comm.activeConnection = Conn
Comm.CommandText = "DBO.DT_BBS"
set rs = server.createObject ("adodb.recordset")
rs.cursortype = 3
Rs. aberto comm ,, 1,1
3. Discussão adicional
Comparando os dois métodos que mencionei acima para chamar procedimentos armazenados no ASP,
O primeiro método requer menos objetos, mas o objeto RecordSet suporta muito menos propriedades, como: Rs.RecordCount, Rs.Pagecount, Rs.absolutePage e outras propriedades.
Nenhum deles suporta, portanto, existem limitações para usar o primeiro método. Por exemplo, quando você deseja exibir registros nas páginas, você deve usar o segundo método.
O objetivo do uso de procedimentos armazenados no SQL Server é acelerar, mas quando existem muitas instruções SQL em um procedimento armazenado, suas vantagens são particularmente óbvias. Se não houver muitas declarações SQL,
Quando usamos o segundo método, devemos criar um objeto de comando adicional, que pode desacelerar! Portanto, devemos equilibrar os interesses de todos os aspectos para usar procedimentos armazenados.
No entanto, acho que a velocidade é tão boa. O uso de procedimentos armazenados pode tornar o programa mais modular, fácil de modificar e depurar (você pode depurar diretamente no SQL Server sem analisar os resultados do ASP no IE).
O acima é uma introdução aos procedimentos armazenados para chamadas ASP. Espero que seja útil para você aprender esse conhecimento. Eu também espero que todos continuem apoiando o novo canal de tecnologia errado!