Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573

    Prendere valore da una stored

    Eccomi di nuovo!

    Vorrei fare una cosa del genere...

    CREATE PROCEDURE GetNumeroContrattoProc
    AS
    Declare @Numero int

    SELECT @Numero = Contratti
    FROM T_Contatori

    @Numero =@Numero+1

    UPDATE T_Contatori SET Contratti = @Numero

    GO
    Praticamente vorrei prendermi il valore di @Numero con la select, incrementarlo di 1, aggiornarlo e poi leggere il nuovo valore da .net e anche qui non so come leggere il valore restituito da una stored.

    Potete darmi una mano?

    Grazie Elisa

  2. #2
    Dovrebbe essere un qualcosa del genere

    Nella stored procedure metti

    RETURN @Numero


    Nella pagina ggiungi il parametro alla collection del command

    cmd.Parameters.Add("@Numero", SqlDbType.Int)
    cmd.Parameters("@Numero").Direction = ParameterDirection.Output

    Dopo che hai eseguito la query

    cmd.ExecuteNonQuery()
    Dim iCount As Integer
    iCount = cmd.Parameters("@Numero").Value
    cnn.Close()


    Fammi sapere
    Ciao
    Kalman
    Kalman

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Ciao.

    Credo che nella stored @numero = @numero + 1 però non gli piaccia.... come lo incremento?

  4. #4
    Giusto:

    SET @Numero = @numero + 1


    Ciao
    K
    Kalman

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    no, non mi restituisce nessun errore ma prende valore 0 mentre dovrebbe essere 101....

  6. #6
    non ho provato ma credo la sp dovrebbe essere qualcosa di simile a es.
    codice:
    CREATE PROCEDURE dbo.GetNumeroContrattoProc 
    	(
    		@Numero int OUTPUT
    	)
    AS
    	SELECT @Numero = Contratti + 1 
    FROM T_Contatori 
    
    	UPDATE T_Contatori SET Contratti = @Numero 	
    	
    	RETURN
    Saluti a tutti
    Riccardo

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Mi restituisce sempre 0... penso quasi sicuramente che è nella stored che qualcosa non va...

  8. #8
    potresti postare il codice c# o vb.net che usi per leggere il valore di ritorno?
    Saluti a tutti
    Riccardo

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2001
    Messaggi
    573
    Cmd = New SqlCommand("GetNumeroContrattoProc", SConn)
    Cmd.CommandType = CommandType.StoredProcedure
    Cmd.Parameters.Add("@Numero", SqlDbType.Int)
    Cmd.Parameters("@Numero").Direction = ParameterDirection.Output
    Cmd.Connection.Open()
    Numero = Cmd.Parameters("@Numero").Value
    Cmd.Connection.Close()

  10. #10
    Non mi sembra che il tuo codice vada bene. Per poter ottenere il valore di ritorno da una sp dovresti comunque eseguirla e non mi sembra che nel tuo codice venga fatto.
    Ad esempio di solito quando si usa un datareader dopo averlo ottenuto anche se non ci sono righe restituite per poter leggere il valore di ritorno e' prima obbligatorio scorrerlo
    codice:
    while(dr.Read()){
    }
    Saluti a tutti
    Riccardo

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 © 2026 vBulletin Solutions, Inc. All rights reserved.