IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ASP.NET Discussion :

URGENT : appel d'une procédure stockée paramétrée en ASP.NET


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut URGENT : appel d'une procédure stockée paramétrée en ASP.NET
    L'exécution me retourne : "Procédure 'nom de procédure'; attend le paramètre 'nom de paramètre' qui n'a pas été fourni"

    J'ai cherché mais on me dit :
    Vérifiez que la propriété Name est sur un objet Command avant de tenter de le référencer via l'objet Connection définie.


    La question est ou dois-je vérifier ca??


    SVP et merci

  2. #2
    Membre confirmé
    Inscrit en
    Février 2006
    Messages
    197
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 197
    Par défaut
    Voila un exemple, ca devrait t'aider...

    Devis_MAJ_Ids est ma procédure stockée.
    Param1 est mon paramètre en entrée.

    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
                Dim Commande As SqlClient.SqlCommand = New SqlClient.SqlCommand
                Dim Param1, Param2, Param3 As SqlClient.SqlParameter
     
                Commande.Connection = Me.SQL_Conn
                Commande.CommandType = CommandType.StoredProcedure
                Commande.CommandText = "Devis_MAJ_IDs"
     
                Param1 = New SqlClient.SqlParameter
                With Param1
                    .Direction = ParameterDirection.Input
                    .ParameterName = "@to_societe_id"
                    .Size = 4
                    .Value = Mon_Devis.to_societe_id
                End With
     
                Commande.Parameters.Add(Param1)
                Commande.ExecuteNonQuery()

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    La procédure que tu veux appeler prends une valeur en paramètre, et tu ne lui fournis pas. C'est pour ça que ça plante.
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    Merci pour vos réponses ;
    pour le code j'ai pratiquement la même chose mais ca ne marche pas c juste pour cette procédure car le même code marchait bien auparavant.
    voilà mon code :

    conscarb_etat3 est ma procédure et j'ai 5 paramétres en entrées : @mode,@choix,@entite,@datedeb,@datefin

    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
    30
    31
    32
    33
    Dim cmd As New SqlCommand
                    Dim dsEdParc As dsEtatCONSCARB = New dsEtatCONSCARB
                    Dim cn = New SqlConnection(Application("Strcnxpaut"))
                    cn.Open()
                    cmd = New SqlCommand("conscarb_etat3", cn)
                    cmd.CommandType = CommandType.StoredProcedure
                    cmd.CommandText = "conscarb_etat3"
                    Dim prmmode = New SqlParameter
                    With prmmode
                        .Direction = ParameterDirection.Input
                        .ParameterName = "@mode"
                        .Size = 1
                        .Value = DDL1.SelectedValue
                    End With
                    cmd.Parameters.Add(prmmode)
                    cmd.ExecuteNonQuery()
                    Dim prmchoix = New SqlParameter("@choix", SqlDbType.Char, 1)
                    prmchoix.Direction = ParameterDirection.Input
                    prmchoix.Value = DDL2.SelectedValue
                    cmd.Parameters.Add(prmchoix)
                    cmd.ExecuteNonQuery()
                    Dim prmentite = New SqlParameter("@entite", SqlDbType.VarChar, 10)
                    prmentite.Value = DDL3.SelectedValue
                    cmd.Parameters.Add(prmentite)
                    cmd.ExecuteNonQuery()
                    Dim prmdatdebut = New SqlParameter("@datedeb", SqlDbType.DateTime, 8)
                    prmdatdebut.Value = dd.Text
                    cmd.Parameters.Add(prmdatdebut)
                    cmd.ExecuteNonQuery()
                    Dim prmdatfin = New SqlParameter("@datefin", SqlDbType.DateTime, 8)
                    prmdatfin.Value = df.Text
                    cmd.Parameters.Add(prmdatfin)
                    cmd.ExecuteNonQuery()

  5. #5
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Par défaut
    Il faut appeler ExecuteNonQuery une fois tous les paramètres ajoutés et pas après chaque paramètre...
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    Merci énormément maintenant je n'ai plus l'erreur principal mais j'ai ca en revanche : Expiration du délai d'attente. Le délai d'attente s'est écoulé avant la fin de l'opération ou le serveur ne répond pas.

  7. #7
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 14
    Par défaut
    C'est bon le probléme avec les données est réglé pour la derniére erreur j'ai augmenté la CommandTimeout de SQLCOMMAND est c'est tout .

    Merci Beaucoup pour votre aide c'est sympa

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 5
    Dernier message: 11/11/2014, 09h45
  2. Réponses: 2
    Dernier message: 21/02/2013, 16h41
  3. [Débutant] Appel d'une procédure stockée avec paramètre en output
    Par Malainet dans le forum Linq
    Réponses: 5
    Dernier message: 11/02/2013, 16h26
  4. [Débutant] Appel d'une procédure stockée avec paramètres
    Par Bakkach dans le forum VB.NET
    Réponses: 6
    Dernier message: 09/10/2012, 16h41
  5. appel d'une procédure stocké a 2 paramétre
    Par alex61 dans le forum ASP.NET
    Réponses: 8
    Dernier message: 21/06/2010, 09h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo