2010-09-06 3 views
2

J'ai une procédure stockée dans SQL Server pour générer des numéros de transaction.Comment obtenir une valeur de retour à partir d'une procédure stockée dans VB.NET

Quelqu'un peut-il m'aider avec comment appeler la procédure stockée à partir de VB.NET et comment vais-je obtenir la valeur qui est retournée de la procédure dans le frontend.

Cordialement, George

+1

duplication possible de [ADO.NET: Comment obtenir la valeur de retour d'une procédure stockée] (http://stackoverflow.com/questions/749622/ado-net-how-to-get-return-value-of- a-stored-procedure) – RichardOD

Répondre

6

Je pense que vous voulez quelque chose comme ceci:

Public Sub Foo() 

Using sql As New SqlClient.SqlConnection("YourConnection") 
    sql.Open() 
    Using cmd As New SqlClient.SqlCommand("YourSPName", sql) 
    cmd.CommandType = CommandType.StoredProcedure 
    Dim myReturnValue As String = cmd.ExecuteScalar 
    End Using 
End Using 
End Sub 

Où myReturnValue sera ce que jamais votre sortie param dans SQL est.

+0

Aucun problème @Goerge. Est-ce que cela a résolu votre problème? – Ben

0

Quel genre de valeur est-ce que vous retournez? Cette valeur entraînera-t-elle à son tour une autre action de base de données?

Il est peut-être préférable de renvoyer des données plutôt qu'une seule valeur. Par exemple, si vous étiez en train de vérifier le nom d'utilisateur et le mot de passe d'une connexion potentielle, au lieu de renvoyer un simple vrai ou faux, vous retourneriez les informations des utilisateurs. Aucune information renvoyée signifie que la connexion a échoué.

Cette méthode a l'avantage de minimiser les requêtes de base de données, ce qui aura un effet sérieux s'il s'agit d'une action courante.

Personnellement, je n'ai jamais eu besoin de retourner une seule valeur.

Questions connexes