Creazione di una Stored Procedure su Ms SQL Server ed esecuzione da una pagina Asp

Siti dinamici con ASP
Impara a creare siti dinamici professionali con ASP

Scritto da Luca Ruggiero nella sezione Asp

Nell'Articolo # 90 abbiamo visto come inizializzare una Stored Procedure (da ora in poi SP) da una pagina Asp. Nell'Articolo # 403, invece, abbiamo visto come connetterci ad una database Microsoft SQL Server. Ma cosa sono le SP? Sono particolari procedure scritte in T-SQL (Transact Sql) ovvero il linguaggio Sql parlato da SQL Server in grado di controllare il flusso di un programma utilizzando istruzioni condizionali e di iterazione, variabili, ecc...

L'Articolo # 404 ci mostra come creare una procedura simile su Ms Access.

Apriamo la nostra copia di SQL Server e recuperiamo la tabella tab_utenti del database db_prova, elementi già creati nell'Articolo # 403 (chi non l'ha ancora creata lo faccia adesso); in funzione di questa tabella creeremo una adesso una SP: l'immagine seguente mostra come crearne una, cliccando col tasto desto del mouse sulla voce Stored Procedure associata al nostro database db_prova:



Si aprirà la finestra in cui inserire il codice della SP:

CREATE PROCEDURE [dbo].[MY_PROC] 
AS 
SELECT * FROM tab_utenti
GO
La sintassi, in modo esplicativo, è la seguente
CREATE PROCEDURE [utente_di_sql_server].[nome_della_procedura]
AS
ISTRUZIONI SQL...
GO
Salviamola come MY_PROC.

A questo punto creiamo sul nostro server Web il file call_sp.asp che effettuerà una semplice stampa a video dei risultati della query scritta nella nostra SP. Di seguito il codice opportunamente commentato:
<%@LANGUAGE = JSCRIPT%>
<html>
<body>

<%
    // STRINGA DI CONNESSIONE
    var str_conn = "Driver={SQL Server};Server=LUKE;Database=db_prova;Uid=sa;Pwd=sa;";

    // CREAZIONE DEGLI OGGETTI CONNECTION E COMMAND
    var cn = new ActiveXObject("Adodb.Connection");
    var cm = new ActiveXObject("Adodb.Command");

    // APRO LA CONNESSIONE
    cn.Open(str_conn);

    // SETTO L'OGGETTO COMMAND...
    cm.ActiveConnection = cn;       // GLI ASSOCIO LA CONNESSIONE
    cm.CommandType = 4;             // LO SETTO IN MODO DA ACCETTARE UNA SP
    cm.CommandText = "MY_PROC";     // GLI ASSOCIO LA SP

    // ESEGUO IL COMANDO
    var rs = cm.Execute();

    // ESTRAGGO I DATI
    while (rs.EOF == false)
    {
        Response.Write(rs("id") + ". " + rs("nome") + " " + rs("cognome") + "<br>");
        rs.MoveNext();
    }

    // CHIUDO LA CONNESSIONE
    cn.Close();
%>

</body>
</html>
Attenzione: ricordo che l'oggetto Command non ha bisogno di essere chiuso.

I più cliccati della sezione Asp

:: Un semplice form mail in Asp (52.079)

:: Creazione di un Guestbook in Asp (50.971)

:: Creazione di un'area di accesso riservato in Asp (45.575)

:: Connessione ad un database MySql con Asp (25.227)

:: Connessione ad un database Microsoft SQL Server con Asp (24.398)

:: Asp e database (23.285)

:: Differenza tra i metodi get e post e recupero dei dati, attraverso Asp (22.643)

:: Una semplice area di accesso riservato senza DB in Asp (21.549)

:: Riscrivere le URL con Asp (19.946)

:: Creazione di un Sondaggio in Asp (19.221)

IN EVIDENZA
DOWNLOAD