Ciao a tutti,

è possibile, avendo una stored procedure su sql server, passare i parametri (SqlCommand.Parameters) e i relativi valori mediante un ciclo while o for in vb.net / c# ?

Grazie

Angelo
43 messaggi dal 30 gennaio 2016
Ciao,
prova ad essere un po più chiaro, cosa vorresti fare, passare una collezione di parametri ad una stored procedure ?
Ciao
Ciao,
scusami per l'imprecisione... Si esatto, la mia idea sarebbe passare una collezione di parametri, invece di dichiararli nel codice (esempio qui sotto).

.Parameters.Add("@RifCom", SqlDbType.Int).Value = RifCom
.Parameters.Add("@RifSpe", SqlDbType.Int).Value = RifSpe
.Parameters.Add("@ImpSpe", SqlDbType.Float).Value = ImpSpe



Grazie

Angelo
43 messaggi dal 30 gennaio 2016
Ciao,
Si, è possibile.
La Proprietà "Parameters" della classe SqlCommand offre un metodo chiamato "AddRange" al quale gli puoi passare una lista di parametri.

Potresti creare un metodo generico che restituisce una lista di parametri e passarlo al tuo comando.

Ciao
Ciao,
grazie per il consiglio.

Siccome sono neofita di stored procedure posso chiederti un esempio per capire meglio quanto mi stai dicendo ?

Grazie ancora per le info.

Angelo
43 messaggi dal 30 gennaio 2016
Ciao,
Supponiamo che tu abbia una sp che richiede 3 parametri

//Metodo che restituisce i parametri
public List<SqlParameter> GetParameters(int RifCom, int RifSpe, float ImpSpe)
        {
            return new List<SqlParameter> {
                new SqlParameter("@RifCom", RifCom),
                new SqlParameter("@RifSpe", RifSpe),
                new SqlParameter("@ImpSpe", ImpSpe)
            };
        }


//Chiamare il metodo
comando.Parameters.AddRange(GetParameters(1, 2, 1).ToArray());


Ovviamente si può personalizzare, questo è soltanto un esempio banale.
Con un pò di reflection potresti creare un metodo generico che accetta come argomento una collezione di oggetti e crea l'array di parametri.

Ciao
Grazie mille, funziona alla perfezione !

Ora lo devo solo rendere dinamico nel passaggio dei parametri nella list.

Saluti

Angelo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.