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

C# Discussion :

requête paramétrée


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Par défaut requête paramétrée
    je suis debutant dans c# j'essaie d'executer une requete d'insertion parametré
    en suivant plusieurs tutoriaux vu sur intrnet j'arrive pas a conclure lors de l'exécution me sort l'erreur :
    ERROR [42000] [Microsoft][ODBC SQL Server Driver][SQL Server]La variable scalaire "@Date" doit être déclarée.
    j'arrive pas a comprendre l'erreur quelqu'un peut m'aider voici la parti de mon code
    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
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
     
    OdbcCommand my_commande;
     
                        //Requete insertion dans la table
                        string ma_requete ="insert into [APPLICATION_GAS] (DATE,NUM_BR,INDEX1,INDEX2,QTE_GAS,COMPT,CODE_EQU,CODE_CHAUFF,CODE_POMPE,CODE_UNITE_COMP,COMMENTAIRE,PARCOURS,MOYENNE_CONSO,DEPASSEMENT,PRIX_LITRE,PRIX_CONS,DATE_CRE) Values(@Date,@NumBr,@Index1, @Index2,@QteGas,@Compt,@CodeEqu,@CodeChauff,@CodePomp,@CodeUnitCompt,@Ccommentaire,@Parcours,@MoyenneConso,@Depassement,@PrixLitre,@PrixCons,@DateCre)";
     
     
                        //Création de la commande SQL 
                        my_commande = new OdbcCommand(ma_requete, conn);
     
                        //Création et décalartion des paramètres
                        my_commande.Parameters.Add(new OdbcParameter("?Date",OdbcType.DateTime));
                        my_commande.Parameters.Add(new OdbcParameter("?NumBr", OdbcType.Decimal));
                        my_commande.Parameters.Add(new OdbcParameter("?Index1", OdbcType.Decimal));
                        my_commande.Parameters.Add(new OdbcParameter("?Index2", OdbcType.Decimal));
                        my_commande.Parameters.Add(new OdbcParameter("?QteGas", OdbcType.Decimal));
                        my_commande.Parameters.Add(new OdbcParameter("?Compt", OdbcType.Real));
                        my_commande.Parameters.Add(new OdbcParameter("?CodeEqu", OdbcType.Char, 20));
                        my_commande.Parameters.Add(new OdbcParameter("?CodeChauff", OdbcType.NChar, 20));
                        my_commande.Parameters.Add(new OdbcParameter("?CodePomp", OdbcType.NChar, 20));
                        my_commande.Parameters.Add(new OdbcParameter("?CodeUnitCompt", OdbcType.Char, 20));
                        my_commande.Parameters.Add(new OdbcParameter("?Ccommentaire", OdbcType.VarChar, 150));
                        my_commande.Parameters.Add(new OdbcParameter("?Parcours", OdbcType.Decimal));
                        my_commande.Parameters.Add(new OdbcParameter("?MoyenneConso", OdbcType.Real));
                        my_commande.Parameters.Add(new OdbcParameter("?Depassement", OdbcType.Real)); 
                        my_commande.Parameters.Add(new OdbcParameter("?PrixLitre", OdbcType.Real));
                        my_commande.Parameters.Add(new OdbcParameter("?PrixCons", OdbcType.Real));
                        my_commande.Parameters.Add(new OdbcParameter("?DateCre", OdbcType.DateTime));
     
     
                        //Attribution des valeurs aux paramètres 
                        my_commande.Parameters["?Date"].Value = date1;
                        my_commande.Parameters["?NumBr"].Value = Num_br;
                        my_commande.Parameters["?Index1"].Value = index1;
                        my_commande.Parameters["?Index2"].Value = index2;
                        my_commande.Parameters["?QteGas"].Value = qte;
                        my_commande.Parameters["?Compt"].Value = compt;
                        my_commande.Parameters["?CodeEqu"].Value = equ;
                        my_commande.Parameters["?CodeChauff"].Value = chauf;
                        my_commande.Parameters["?CodePomp"].Value = pomp;
                        my_commande.Parameters["?CodeUnitCompt"].Value = unit_compt;
                        my_commande.Parameters["?Ccommentaire"].Value = comm;
                        my_commande.Parameters["?Parcours"].Value = parcours;
                        my_commande.Parameters["?MoyenneConso"].Value = moyen_cons;
                        my_commande.Parameters["?Depassement"].Value = depassement;
                        my_commande.Parameters["?PrixLitre"].Value = prix_litre;
                        my_commande.Parameters["?PrixCons"].Value = prix_cons;
                        my_commande.Parameters["?DateCre"].Value = DateTime.Now;
     
                        try
                        {
     
                            my_commande.ExecuteNonQuery();
                            my_commande.Connection.Close();
                        }
                        catch (Exception ee)
                        {
     
                            MessageBox.Show(ee.Message);
                        }

  2. #2
    Membre Expert

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2010
    Messages
    2 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Novembre 2010
    Messages : 2 067
    Par défaut
    il ne faudrait pas mettre des @ au lieu des ? dans la création et la déclaration de tes paramètres

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 198
    Par défaut
    si
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Par défaut
    j'ai oublié de précisé que j'avai essayé les 2 les @ et les ?
    le mêm message nd'erreur

  5. #5
    Modérateur
    Avatar de Sankasssss
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2006
    Messages
    1 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 842
    Par défaut
    J'aurais tendance à dire (sans certitude) que c'est parce que vous avez utilisé un mot réservé DATE qu'il faut éviter.
    Essayer de renommer le paramètre en @DATE1

  6. #6
    Membre averti
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Par défaut
    Citation Envoyé par Sankasssss Voir le message
    J'aurais tendance à dire (sans certitude) que c'est parce que vous avez utilisé un mot réservé DATE qu'il faut éviter.
    Essayer de renommer le paramètre en @DATE1
    en renommant la variable par DATE2 le message d'erreur est le même sauf que "@DATE2" doit etre declaré

Discussions similaires

  1. [ADO.Net][C#/Oracle] Comment utiliser une requête paramètrée ?
    Par kaboume dans le forum Accès aux données
    Réponses: 4
    Dernier message: 05/07/2005, 14h50
  2. Requête paramétrée
    Par lou.souleu dans le forum Access
    Réponses: 2
    Dernier message: 22/06/2005, 05h36
  3. [VB.NET] [ADO.NET] Requête paramétrée
    Par DotNET74 dans le forum Accès aux données
    Réponses: 2
    Dernier message: 11/03/2005, 08h39
  4. Requête paramétrée qui remplit une DBLookUpComboBox
    Par navis84 dans le forum Bases de données
    Réponses: 6
    Dernier message: 02/12/2004, 21h23
  5. VBA & Requête paramétrée
    Par gripoil dans le forum Access
    Réponses: 4
    Dernier message: 25/11/2004, 09h54

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