53 messaggi dal 06 settembre 2002
Salve a tutti,
sto cercando della documentazione/esempi su chiamate a stored procedure che hanno parametri di output da EDM. Credo di aver correttamente aggiunto all'edmx la fuunzione utilizzando il wizard "Function Import...".
Qualcuno può aiutarmi?
Ringrazio anticipatamente.
Francesco
3.167 messaggi dal 06 settembre 2002
Contributi | Blog
Ciao,

per ogni parametro di output della SP il designer genera un parametro di tipo ObjectPrameter nella firma del metodo. Quel parametro va istanziato, configurato con il nome del parametro della SP e passato in input. una volta chiamato il metodo, contiene il valore del parametro di output della sp.

HTH

Nothing can be born from hartred

Stefano (SM15455) Mostarda
http://blogs.aspitalia.com/SM15455
Rome Italy
53 messaggi dal 06 settembre 2002
Nel frattempo ho trovato questa soluzione:
La sp ha un parametro di output e fa, all'interno, anche una select.
Il codice che ho provato è il seguente:
        Using conn = New EntityConnection("name=ProvaEDMEntities")
            Using comm = conn.CreateCommand()

                Dim param As EntityParameter = New EntityParameter()
                param.DbType = Data.DbType.Int32
                param.ParameterName = "CodRet"
                param.Direction = Data.ParameterDirection.Output

                comm.CommandType = Data.CommandType.StoredProcedure
                comm.CommandText = "ProvaEDMEntities.GetOneOperatore"
                comm.Parameters.Add(param)

                conn.Open()
                comm.ExecuteNonQuery()
                'Dim eDR = comm.ExecuteReader(System.Data.CommandBehavior.SequentialAccess)
                'GridView2.DataSource = eDR
                'GridView2.DataBind()

                Label5.Text = comm.Parameters("CodRet").Value
                If conn.State = Data.ConnectionState.Open Then
                    conn.Close()
                End If
            End Using
        End Using

Noterai che dopo comm.ExecuteNonQuery() le tre righe sono commentate.
Se eseguo infatti la comm.ExecuteReader() riesco ad intercettare la select restituita dalla SP ma non ho più alcun valore nel parametro di output. Diversamente se uso la comm.ExecuteNonQuery() il parametro di output è valorizzato, ma, ovviamente mi perdo il cursore di output.

Qualche idea per riuscire ad avere entrambe le cose?

Grazie
Francesco

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.