Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Sql Server Stored Procedur con condizioni e variabile da leggere asp..

    ciao a tutti.. allora dovrei fare una stored procedure che sia + o - come questa (questa e' solo la prima parte ci devono essere altre condizioni)

    codice:
    if (select count(*) from Pagine where indirizzo=@RelUrl) = 0
    	set @result = 1
    else
    	set @result = 0
    ora mio problema.. innanzi tutto result dovrebbero essere valori booleani ma va bene anche 1 o 0.. ora chiedevo pero' come faccio per leggere da asp il valore di result? e se ha valore 1 fare una cosa altrimenti un altra? cioe' nella stored procedure che devo fare un return @result? print @result? o cosa?

  2. #2
    Utente di HTML.it L'avatar di marco_c
    Registrato dal
    Jun 2004
    Messaggi
    1,047
    devi dichiarare result come valore di ritorno della stored procedure. mi sembra che basti aggiungere OUT dopo la dichiarazione di result all'interno della stored procedure. poi da asp prendi il valore di ritorno della stored procedure

  3. #3
    io ho
    AS
    declare
    @result int

    e se metto

    @result int OUT

    mi torna questo errore
    Error 181: Cannot use the OUTPUT option in a DECLARE statement.

  4. #4
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    devi utilizzare i parametri di ado

    es
    codice:
    set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("connessione")
    set objCmd = Server.CreateObject("ADODB.Command")
    objCmd.ActiveConnection = objConn
    objCmd.CommandType = 4'adCmdStoredProc	
    objCmd.CommandText="NomeStoredProcedure"
    objCmd.Parameters("@result").Type = 3 'tipo di dato 3 è numerico
    objCmd.Parameters("@result").Direction=2 ' 2 stà ad indicare che è un parametro in output
    objCmd.Parameters("@result").Value = 0
    objCmd.Execute()
    response.write objCmd.Parameters("@result").value
    Forza la magica ROMA

  5. #5
    Originariamente inviato da albis
    devi utilizzare i parametri di ado

    es
    codice:
    set objConn = Server.CreateObject("ADODB.Connection")
    objConn.Open("connessione")
    set objCmd = Server.CreateObject("ADODB.Command")
    objCmd.ActiveConnection = objConn
    objCmd.CommandType = 4'adCmdStoredProc	
    objCmd.CommandText="NomeStoredProcedure"
    objCmd.Parameters("@result").Type = 3 'tipo di dato 3 è numerico
    objCmd.Parameters("@result").Direction=2 ' 2 stà ad indicare che è un parametro in output
    objCmd.Parameters("@result").Value = 0
    objCmd.Execute()
    response.write objCmd.Parameters("@result").value
    ma la stored rimane invariata? cioe' nn devo mettere return o latre cose? cioe' basta che gli setto un valore a @result e va...?

  6. #6
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    lo devi usare come parametro e quindi và prima della AS


    codice:
    CREATE PROCEDURE NomeStored
    @result int Out
    AS
    Forza la magica ROMA

  7. #7
    un metodo meno "complicato" nn ci sarebbe?

  8. #8
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    apparte che non mi sembra affatto complicato
    ed è il metodo più corretto e pulito

    potresti provare ad utilizzare un recordset

    nella stored procedure scrivi

    codice:
    select @result as Risultato
    naturalmente dopo averlo valorizzato

    e utilizzi un recordset

    non sò se funziona io uso sempre i parametri
    Forza la magica ROMA

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.