Existem muitos artigos sobre procedimentos ASP e armazenados, mas duvido que os autores realmente o pratiquem. Eu li muitas informações relevantes quando estava no começo e descobri que muitos dos métodos fornecidos não eram o caso na prática. Para aplicações simples, esses materiais podem ser úteis, mas apenas porque são simplesmente os mesmos, plagiando um ao outro, e aplicações um pouco mais complexas serão vagas.
Agora, basicamente, acesse o SQLServer chamando procedimentos armazenados. O texto a seguir é um resumo da prática, e espero que seja útil para todos.
Um procedimento armazenado é um ou mais comandos SQL armazenados no banco de dados como objetos executáveis.
A definição é sempre abstrata. Os procedimentos armazenados são na verdade um conjunto de instruções SQL que podem concluir determinadas operações, mas esse conjunto de instruções é colocado no banco de dados (vamos falar apenas sobre o SQLServer aqui). Se criar procedimentos armazenados e chamar procedimentos armazenados no ASP, podemos evitar a mistura de instruções SQL com o código ASP. Existem pelo menos três benefícios de fazer isso:
Primeiro, melhore muito a eficiência. O procedimento armazenado em si é muito rápido e o procedimento armazenado de chamada pode reduzir bastante o número de interações com o banco de dados.
Segundo, melhore a segurança. Se as instruções SQL forem misturadas no código ASP, uma vez perdido o código, isso significa que a estrutura da biblioteca será perdida.
Terceiro, é propício à reutilização de declarações SQL.
No ASP, os procedimentos armazenados são geralmente chamados por meio de objetos de comando. De acordo com diferentes situações, este artigo também apresenta outros métodos de chamada. Por conveniência de explicação, a seguinte classificação simples é feita com base na entrada e saída do procedimento armazenado:
1. Somente os procedimentos armazenados de retorno para um único conjunto de registros
Suponha que exista o seguinte procedimento armazenado (o objetivo deste artigo não é descrever a sintaxe T-SQL, portanto o procedimento armazenado fornece apenas código e não explica):
/*Sp1*/
A cópia do código é a seguinte:
CreateProcedundeDbo.getUserlist
como
Setnocounton
Começar
Selecione*FromDbo. [UserInfo]
fim
ir
O procedimento armazenado acima obtém todos os registros na tabela UserInfo e retorna um conjunto de registros. O código ASP para chamar o procedimento armazenado através do objeto de comando é o seguinte:
'** Procedimento de chamada através do objeto de comando **
Dimmycomm, Myrst
SetMyComm = server.createObject ("adodb.command")
Mycomm.activeConnection = myconstr'myConstr é a string de conexão do banco de dados
Mycomm.commandText = "getUserList" 'Especifique o nome do procedimento armazenado
Mycomm.commandtype = 4 'indica que este é um procedimento armazenado
Mycomm.prepared = true 'exige que os comandos SQL sejam compilados primeiro
SetMyrst = mycomm.execute
SetMyComm = nada
O conjunto de registros obtido pelo procedimento armazenado é atribuído ao MYRST. Em seguida, Myrst pode ser operado.
No código acima, a propriedade CommandType indica o tipo de solicitação, o valor e a descrição são os seguintes: