Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 26
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413

    valore di ritorno in stored procedure

    ciao a tutti...

    non riesco a far ritornare un valore di ritorno da una stored procedure. Ho notato che mi capita quando utilizzo la sintassi:

    EXEC (@Sql)

    in fondo alla stored.
    Se utilizzo poi la sintassi return 1 (per esempio...) non ricevo nessun valore.

    Probabilmente sto sbagliando qualcosa.

    mi potete aiutare?

  2. #2
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    Come lo prendi il valore di ritorno in asp?
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    utilizzando l'oggetto command nel seguente modo :
    codice:
    set objParametro = cmd.createParameter("@varCountRecord",adSmallInt,adParamOutput,2)
    	cmd.parameters.Append objParametro
    e poi faccio:
    codice:
    cResult=cmd.parameters("@varCountRecord").value

  4. #4
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    probabilmente nella stored procedure devi dichiarare una variabile in output (in oracle si fa così) .... credo....
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    si infatti c'è la variabile di output...

    ma a quanto ho capito utilizzando la sintassi EXEC @stringaSQL, non posso utilizzare valori di ritorno con la sintassi return

  6. #6
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    probabilmente fai un errore nell'utilizzo dell'oggetto command.

    Nell'oggetto command devi indicare il nome della stored procedure da eseguire, indicando i parametri in ingresso e quelli in uscita (come hai fatto) ed eseguire il command.

    A questo punto nel parametro di uscita dovresti trovare il valore
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413
    help...non riesco...

    vi faccio l'esempio della mia stored:

    codice:
    CREATE PROCEDURE [dbo].[stp_miaStored] 
    
    @varFilter varchar(200),
    @contatore smallint OUTPUT
    GO
    DECLARE @sql varchar(1000)
    
    @SQL = 'SELECT * FROM tabella WHERE '+@varFilter 
    @contatore =@@rowCount
    
    EXEC @SQL
    return @contatore 
    
    GO
    La query mi restituisce correttamente i risultati mentre la variabile di ritorno è sempre vuota....

  8. #8
    Moderatore di CMS L'avatar di kalosjo
    Registrato dal
    Jul 2001
    residenza
    In culo alla luna
    Messaggi
    1,999
    dovresti forse utilizzare un cursore che si riempie con la query, e non EXEC @SQL.

    Col sursore puoi sapere quante righe ha estratto e ritornarle con return
    Scusate i puntini di sospensione...... La verità è che non ho argomenti....

  9. #9
    Utente di HTML.it L'avatar di albis
    Registrato dal
    May 2002
    Messaggi
    912
    se non ricordo male
    per far funzionare i parametri output
    devi definire il commandType correttamente
    codice:
    cmd.CommandType = 4'StoredProcedure
    Forza la magica ROMA

  10. #10
    Utente di HTML.it L'avatar di Gioba66
    Registrato dal
    Jun 2002
    Messaggi
    2,189
    se invochi il rowcount prima di eseguire la query, ci credo che resta sempre vuoto...
    Tutti vogliono parlare, nessuno sa ascoltare.

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.