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

MFC Discussion :

[VC++.Net2003] OleDbCommand et adrip


Sujet :

MFC

  1. #1
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut [VC++.Net2003] OleDbCommand et adrip
    Bonjour tout le monde
    J'ai créee un projet VC++.Net (winforms), et j'ai une base de données contenant la table Historique comportant 4 champs:
    IdHisto: NuméroAuto
    DateHisto: Date
    HeureHisto:Heure
    AdresseIp:Texte

    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
    //enregistrement dans la base de données
    try
    {
    //Les données à enregistrer
    String *adrip=adresse_IP->Text->ToString(); 
     
    oleDbConnection1->Open();
    //MessageBox::Show(S"Opened Connection");
     
    
    OleDbCommand *myoleDbCommand = new OleDbCommand("INSERT INTO Historique (DateHisto, HeureHisto, AdresseIp) SELECT DATE () AS Expr1, TIME () AS Expr2, adrip", oleDbConnection1);
    myoleDbCommand->ExecuteNonQuery();
    oleDbConnection1->Close();
     
    }
    catch(Exception * e)
    {
    MessageBox::Show(Convert::ToString(e->Message));
    }
    

    Un message s'affiche :Acune valeur donnée pour une ou plusieurs des paramètres requis

    et c'est évidement adrip, que je doit faire pour régler ce problème.

    Merci d'avance.

  2. #2
    Rédacteur
    Avatar de nico-pyright(c)
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    6 414
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 6 414
    Par défaut
    ca donne quoi la requete complete ? y a quoi dans
    adrip ?

  3. #3
    Membre émérite
    Avatar de Gabrielly
    Inscrit en
    Juin 2004
    Messages
    722
    Détails du profil
    Informations forums :
    Inscription : Juin 2004
    Messages : 722
    Par défaut
    Effectivement ta requête est mal écrite.

    essaie ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String^ strSQL  = "INSERT INTO Historique (DateHisto, HeureHisto, AdresseIp) VALUES(DATE(), TIME(), ' ";
    strSQL += adrip;   // il récupère la valeur contenu dans adrip et non pas la chaîne "adrip"
    strSQL += " ' )";

  4. #4
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Citation Envoyé par Gabrielly
    Effectivement ta requête est mal écrite.
    et pourtant quand j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    
    OleDbCommand *myoleDbCommand = new OleDbCommand("INSERT INTO Historique (DateHisto, HeureHisto, AdresseIp) SELECT DATE () AS Expr1, TIME () AS Expr2, "127.0.0.1" AS Expr3", oleDbConnection1);
    
    la requête marche très bien.

    et avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    String^ strSQL = "INSERT INTO Historique (DateHisto, HeureHisto, AdresseIp) VALUES(DATE(), TIME(), ' ";
    strSQL += adrip; // il récupère la valeur contenu dans adrip et non pas la chaîne "adrip"
    strSQL += " ' )";
    
    OleDbCommand *myoleDbCommand = new OleDbCommand(strSQL, oleDbConnection1);
    
    il m'affiche strSQL identificateur non déclaré.

    Merci

  5. #5
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 43
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    String *strSQL =String::Concat("INSERT INTO Historique (DateHisto, HeureHisto, AdresseIp) SELECT DATE () AS Expr1, TIME () AS Expr2,'",adrip,"'");
    
    OleDbCommand *myoleDbCommand = new OleDbCommand(strSQL, oleDbConnection1);
    
    Maitenant ça marche
    Merci beaucoup Gabrielly

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

Discussions similaires

  1. [vb.net2003] Modification d'une clé registre [activeProxy]
    Par arnolem dans le forum Windows Forms
    Réponses: 1
    Dernier message: 25/11/2005, 15h54
  2. [VB.NET2003] : Problème affichage sous Windows 98
    Par alkponn dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/10/2005, 16h34
  3. [VB.Net2003]Setup et base access
    Par dankes dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/10/2005, 21h01
  4. Réponses: 1
    Dernier message: 03/03/2005, 09h55
  5. [C#] DataSet et OleDbCommand
    Par telynor dans le forum Windows Forms
    Réponses: 5
    Dernier message: 06/01/2005, 14h25

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