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 :
Quand je la teste avec l'analyseur de requête elle fonctionne parfaitement.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Comme vous pouvez le constater cette requête est sensé retourné une valeur.
Voici mon code
Avec ce code, je n'arrive pas à avoir le résultat qui devrait être retourné par la procédure stocké.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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)
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.
Partager