[VB.Net]Procédure Stocké retournant une valeur
Bonjour à tous,
Voici un moment que je galère (environ 3 semaine), je suis sur que mon problème est d'une bétise, mais je n'y arrive pas!
J'ai une procédure stocké sur un Serveur SqlServeur.
Je développe un petit Site en ASP.net en utilisant le language VB.net
Voici la procédure :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
| IF EXISTS (SELECT name
FROM sysobjects
WHERE name = N'NewClient'
AND type = 'P')
DROP PROCEDURE NewClient
GO
CREATE PROCEDURE NewClient
@Login varchar(255) = '',
@Mdp varchar(255) = '',
@Email varchar(255) = '',
@Nom varchar(255) = '',
@Prenom varchar(255) = '',
@Societe varchar(255) = '',
@OK int = 0 OUTPUT
AS
If (SELECT Login FROM Client WHERE Login=@Login) is null
BEGIN
INSERT INTO Client(Login, Mdp, Email, Nom, Prenom, Societe)
VALUES(@Login, @Mdp, @Email, @Nom, @Prenom, @Societe)
set @OK = 1
END
ELSE
BEGIN
set @OK = 0
END
GO |
Quand je la teste avec l'analyseur de requête elle fonctionne parfaitement.
Comme vous pouvez le constater cette requête est sensé retourné une valeur.
Voici mon code
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| Dim cnx As connexion = New connexion 'class créant la connexion
cnx.NewCnx()
'récupération du numéro de la catégorie en fonction de sa valeur
Dim Com1 As SqlClient.SqlCommand = New SqlClient.SqlCommand("NewClient", cnx.GetCnx)
Com1.CommandType = CommandType.StoredProcedure
Dim Parametre As SqlClient.SqlParameter
Parametre = Com1.Parameters.Add("@Login", SqlDbType.VarChar)
Parametre.Direction = ParameterDirection.Input
Parametre.Value = TLogin.Text
...
Dim Parametre7 As SqlClient.SqlParameter
Parametre7 = Com1.Parameters.Add("@OK", SqlDbType.Int)
Parametre7.Direction = ParameterDirection.ReturnValue
Com1.ExecuteNonQuery()
Dim test = CStr(Com1.Parameters("@OK").Value) |
Avec ce code, je n'arrive pas à avoir le résultat qui devrait être retourné par la procédure stocké.
Quelqu'un à une idée???
Sur ce si vous voulez plus de détail il n'y a qu'à demander.
Davance merci au personne qui m'aidront.