INTERNET EXPLORER? Ti consiglio di navigare questo sito con Mozilla Firefox oppure con Google Chrome.

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

Autore: Luca Ruggiero | Tell a Friend

eBook ASP base
Impara a creare siti dinamici con ASP e VBScript da zero!

Corso ASP
Impara a creare siti dinamici professionali con ASP!

E-Commerce con ASP
Impara a creare un sito di E-Commerce con carrello della spesa!

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.

IN EVIDENZA
HOT LINKS