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

Bases de données Delphi Discussion :

Convertir Date sous Delphi vers Date sous MySQL


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut Convertir Date sous Delphi vers Date sous MySQL
    J'ai regardé un peu mais j'ai rien trouvé de bien précis me concernant.

    En effet, je crée des données avec des dates. ( format Date sous MySQL)

    Et je dois mettre dans 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
     
     
    Date1:= StrToDate(date1.text);
    Date2:= StrToDate(date2.text);
     
    WITH DataModule1.MyQMC DO
      BEGIN
        SQL.Clear;
        SQL.Add('INSERT INTO ID_MC_D');
        SQL.Add('(ID_Engin_FK6,ID_Gamme_FK1,Depot_Titulaire_FK1,Numero_FI,Km_Defaut,Date_Defaut,Date_Sortie,Libelle_Origine,Libelle_Cause,Libelle_Solution,Module_N6_FK1)');
        SQL.Add(format('values(''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'')',[EnginPrDefaut_ComboBox.Text,GammeprDefaut_ComboBox.Text,Depot2_ComboBox.Text,NumFI_Edit.Text,KmDefaut_Edit.Text,Date1,Date2,LibelleOrigine_Edit.Text,LibelleCause_Edit.Text,LibelleSolution_Edit.Text,MN6_Edit.Text]));
        Execute;
      END;
    Mas je ne sais pas si c'est bon

    en gros l'utlisateur doit entre mm/dd/yyyy ....

    Quand j'ai mis juste Date1_edit.text et date2_edit.text dans le VALUEs, il ne les prend pas en consideration.

    Dans le cas ce idessus , cela ne marche pas du tout, car je ne sais pas quoi mettre comme type pour les variables Date1 et Date2.

    POuvez vous m'aider,???

  2. #2
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Le format de date sous MySQL est : YYYY-MM-DD
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    Donc l'utilisateur doit taper YYYY-MM-DD

    ou bien je dois le faire par prog

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Date1,Date2 : DateTime;
    
    Date1:= FormatdateTime('yyyy-mm-dd', StrToDate(date1_Edit.text));
    Date2:= FormatdateTime('yyyy-mm-dd', StrToDate(date2_Edit.text));
    
    WITH DataModule1.MyQMC DO
      BEGIN
        SQL.Clear;
        SQL.Add('INSERT INTO ID_MC_D');
        SQL.Add('(ID_Engin_FK6,ID_Gamme_FK1,Depot_Titulaire_FK1,Numero_FI,Km_Defaut,Date_Defaut,Date_Sortie,Libelle_Origine,Libelle_Cause,Libelle_Solution,Module_N6_FK1)');
        SQL.Add(format('values(''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'',''%s'')',[EnginPrDefaut_ComboBox.Text,GammeprDefaut_ComboBox.Text,Depot2_ComboBox.Text,NumFI_Edit.Text,KmDefaut_Edit.Text,Date1,Date2,LibelleOrigine_Edit.Text,LibelleCause_Edit.Text,LibelleSolution_Edit.Text,MN6_Edit.Text]));
        Execute;
      END;
    Comme ça?

  4. #4
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    PAsse par des paramètres, tu n'as pas besoin de faire la conversion c'est le composant qui s'en charge

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    WITH DataModule1.MyQMC DO
      BEGIN
        SQL.Clear;
        SQL.Add('INSERT INTO ID_MC_D');
        SQL.Add('(ID_Engin_FK6,ID_Gamme_FK1,Depot_Titulaire_FK1,Numero_FI,Km_Defaut,Date_Defaut,Date_Sortie,Libelle_Origine,Libelle_Cause,Libelle_Solution,Module_N6_FK1)');
        SQL.Add(format('values(:IDFK6, ..., :DATE1)');
      ParamCheck := True;
      ParamByName('IDFK6').Value := EnginPrDefaut_ComboBox.Text;
      ...
      ParamByName('DATE1').Value := Date1;
      ...
        Execute;
      END;
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    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
    procedure TForm1.EnregFiche(Sender: TObject);
    var
    Date1,Date2 : DateTime;
    begin
     
    Date1 := StrToDate(DateDefaut_Edit.Text);
    Date2 := StrToDate(DateSortie_Edit.Text);
     
     
      WITH DataModule1.MyQMC DO
      BEGIN
        SQL.Clear;
        SQL.Add('INSERT INTO ID_MC_D');
        SQL.Add('(ID_Engin_FK6,ID_Gamme_FK1,Depot_Titulaire_FK1,Numero_FI,Km_Defaut,Date_Defaut,Date_Sortie,Libelle_Origine,Libelle_Cause,Libelle_Solution,Module_N6_FK1)');
        SQL.Add(format('values(:ID_Engin_FK6,:ID_Gamme_FK1,:Depot_Titulaire_FK1,:Numero_FI,:Km_Defaut,:Date_Defaut,:Date_Sortie,:Libelle_Origine,:Libelle_Cause,:Libelle_Solution,:Module_N6_FK1)'));
        ParamCheck := True;
        ParamByName('ID_Engin_FK6').Value := EnginPrDefaut_ComboBox.Text;
        ParamByName('ID_Gamme_FK1').Value := GammeprDefaut_ComboBox.Text;
        ParamByName('Depot_Titulaire_FK1').Value := Depot2_ComboBox.Text;
        ParamByName('Numero_FI').Value := NumFI_Edit.Text;
        ParamByName('Km_Defaut').Value := KmDefaut_Edit.Text;
        ParamByName('Date_Defaut').Value := Date1;
        ParamByName('Date_Sortie').Value := Date2;
        ParamByName('Libelle_Origine').Value := LibelleOrigine_Edit.Text;
        ParamByName('Libelle_Cause').Value := LibelleCause_Edit.Text;
        ParamByName('Libelle_Solution').Value := LibelleSolution_Edit.Text;
        ParamByName('Module_N6_FK1').Value := MN6_Edit.Text;
        Execute;
      END;
      Beep;
      ShowMessage('Enregistrement réussi');
     
    end;
    Il semble y avoir une erreur au niveau de values (pb d'arguments visiblement)

    par contre Date en format DateTime dans la VAR , n'est pas accepté...

  6. #6
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 5 236
    Par défaut
    Essai comme ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
        ParamByName('Date_Defaut').Value := FormatDateTime('YYYY-MM-DD',Date1);
        ParamByName('Date_Sortie').Value := FormatDateTime('YYYY-MM-DD',Date2);
    Modérateur Delphi

    Le guide du bon forumeur :
    __________
    Rayek World : Youtube Facebook

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

Discussions similaires

  1. DBLINK MySQL (sous Linux) vers Oracle (sous Windows)
    Par bachelre dans le forum Administration
    Réponses: 1
    Dernier message: 12/02/2014, 16h07
  2. Réponses: 7
    Dernier message: 19/02/2010, 12h12
  3. Réponses: 8
    Dernier message: 07/03/2007, 08h34
  4. Procedure Stocké sous FB et execution sous Delphi
    Par Andry dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/07/2006, 15h02
  5. Réponses: 1
    Dernier message: 25/05/2006, 14h08

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