Exécuter une procédure stockée à l'aide de VB.NET

C'est ma procédure

ALTER PROCEDURE sp_addUser
     @UserName nvarchar(50),    
     @Prenom nvarchar(50),  
     @Nom nvarchar(50), 
     @Mail nvarchar(50),    
     @Password char(8), 
     @Addresse nvarchar(100),   
     @Ville nvarchar(50),   
     @Province nvarchar(50),    
     @PostalCode char(6),
     @Pays nvarchar(50),    
     @AnimalGenre nvarchar(50), 
     @NomAnimal nvarchar(50),   
     @Race nvarchar(50) 
AS
BEGIN
   INSERT INTO Client
   VALUES (@UserName,@Prenom,@Nom,@Mail,@Password,@Addresse,@Ville,@Province,@PostalCode,@Pays,@AnimalGenre,@NomAnimal,@Race);
END 

Je pense que c'est ok pour la Procédure stockée

Maintenant le code pour ajouter de la valeur dans la Base de Données

Sub sp_addUser()
Dim intRowsAff As Integer
lblErrMsg.Text = ""
lblRecsAff.Text = ""
Dim connectionString As String = WebConfigurationManager.ConnectionStrings("BecsEtMuseauxSQL").ConnectionString
Dim con As SqlConnection = New SqlConnection(connectionString)
Dim cmd As New SqlCommand("sp_addUser", con)
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.Add("@UserName", SqlDbType.VarChar, 50).Value = txtUserName.Text
cmd.Parameters.Add("@Prenom", SqlDbType.VarChar, 50).Value = txtPrenom.Text
cmd.Parameters.Add("@Nom", SqlDbType.NVarChar, 50).Value = txtNom.Text
cmd.Parameters.Add("@Mail", SqlDbType.NVarChar, 50).Value = txtMail.Text
cmd.Parameters.Add("@Password", SqlDbType.Char, 8).Value = txtPass.Text
cmd.Parameters.Add("@Addresse", SqlDbType.NVarChar, 100).Value = txtAdresse.Text
cmd.Parameters.Add("@Ville", SqlDbType.NVarChar, 50).Value = txtVille.Text
cmd.Parameters.Add("@Province", SqlDbType.NVarChar, 50).Value = txtProvince.Text
cmd.Parameters.Add("@PostalCode", SqlDbType.Char, 6).Value = txtPostal.Text
cmd.Parameters.Add("@Pays", SqlDbType.NVarChar, 50).Value = txtPays.Text
cmd.Parameters.Add("@AnimalGenre", SqlDbType.NVarChar, 50).Value = rblAnimal.Text
cmd.Parameters.Add("@NomAnimal", SqlDbType.NVarChar, 50).Value = txtAnimal.Text
cmd.Parameters.Add("@Race", SqlDbType.NVarChar, 50).Value = txtRace.Text
Try
cmd.Connection.Open()
intRowsAff = cmd.ExecuteNonQuery()
Catch ex As Exception
lblErrMsg.Text = ex.Message & ex.Source
End Try
lblRecsAff.Text = intRowsAff & " record(s) inserted"
cmd.Connection.Close()
End Sub

Après j'exécute la méthode de VS dire que j'ai beaucoup d'arguments spécifiés pour la procédure sp_addUser

Je ne comprends pas pourquoi ce générer l'erreur!

avez-vous pensez à la mise à jour de définition de procédure stockée dans la DB?
Actualiser la DB??
Ce que tu veux dire pentecôte mise à jour de définition de la procédure stockée??
J'ai renommer mon SP pour spAddUser et redémarrez VS et c'Est un travail bien maintenant Merci
Il n'y a absolument zéro faut pour cela une procédure stockée. Retour dans la journée quand nous n'avons pas à avoir des requêtes paramétrées, oui, mais aujourd'hui, c'est juste un gaspillage. Ses une TONNE de coulé temps dans la création et l'entretien de quelque chose qui ne sert à rien.

OriginalL'auteur FrankSharp | 2011-12-29