ASP.NET - EXÉCUTER UNE PROCÉDURE STOCKÉE AVEC PASSAGE DE PARAMÈTRES

Messages postés
32
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
22 février 2005
- - Dernière réponse : hichvbasic
Messages postés
17
Date d'inscription
dimanche 13 avril 2003
Statut
Membre
Dernière intervention
18 mai 2006
- 24 déc. 2007 à 10:35
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/19515-asp-net-executer-une-procedure-stockee-avec-passage-de-parametres

Afficher la suite 
cs_Domilo
Messages postés
32
Date d'inscription
jeudi 31 janvier 2002
Statut
Membre
Dernière intervention
22 février 2005
-
Bonjour,

Pour ceux qui trouvent que cela fait trop de code à frapper,

Le code :
Dim ParamNVarChar As SqlParameter = MaCommande.Parameters.Add("@MonTextProcStock", SqlDbType.NVarChar, 2000)
ParamNVarChar.Value = MonTexte

Comme la variable ParamNVarChar n'est pas utilisé dans la suite du code, on peut éviter de la déclarer :
MaCommande.Parameters.Add("@MonTextProcStock", SqlDbType.NVarChar, 2000).Value = MonTexte

Et même :
MaCommande.Parameters.Add("@MonTextProcStock", MonTexte)

Pour ce dernier cas ce sera un VarChar très grand (4000?) qui sera passé au serveur si le paramètre est du type string.
Sont également accepté les Numérique, date,..., mais on ne maitrise pas le typage qui sera choisit (en générale ce n'est pas grave)

@Bientôt...
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
Merci pour cette information, elle servira à un grand nombre je pense.

F___
cs_New_World
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
salut

vos code sont parfait et logique mais le probleme jcroi que c de moi parce que a la place de "Montexte" j essaye de mettre un textbox pr pouvoir passer la variable a la procedure mais quan je debogue et j ecri mes donné au textbox seulment le premier lettre qui s'enregistre a la base de donne par exemple si jfai entrer "toto" il ya que le 't' qui s'enregistre a la base
bon voila
MaCommande.Parameters.Add("@MonTextProcStock", MonTexte)
a la place du "MonTexte" j utilise un textbox
merci de biiiien
en fait j aie le mm prob si j ecri Montexte
et mercii encore
cs_fabrice69
Messages postés
1766
Date d'inscription
jeudi 12 octobre 2000
Statut
Modérateur
Dernière intervention
11 décembre 2013
4 -
Bonjour,

Vous avez mal lu et appliqué l'exemple, vous devez utiliser ceci :
- MaCommande.Parameters.Add("@MonTextProcStock", MonTexte, xxxxx)

xxxxx étant la taille de votre champ varchar, dans la base de données.

Cordialemment

Romelard Fabrice
cs_New_World
Messages postés
53
Date d'inscription
mardi 15 août 2006
Statut
Membre
Dernière intervention
15 juillet 2010
-
bonjour
c pa ça le probleme parce que j'ai deja montionner la taille du champ voila ma ligne :
com.Parameters.Add("@Nm",SqlDbType.NVarChar,50,"nom").Value=textbox.Text;
:::mon prob c que k il ya que la 1ere lettre de ma variable qui s enregistre :oui j ai aussi mis a la place de 50 ,4000 encore le mm prob parce ke ça peu que tu pense que c a cause de ça

et j ai aussi essayer ça mai c un autre prob parce que la il me di que c impossible de convertir de 'string' en 'System.Data.SqlDbType'
com.Parameters.Add("@Nm","MonTexte",50,"nom");

et merciiiiiiiiiiii