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

Langage Delphi Discussion :

Insertion avec tquery?


Sujet :

Langage Delphi

  1. #21
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Salut;

    je crois que le type de champ matricule est numérique, si c'est le cas alors l'erreur est là. Puisque tu lui affecte le texte d'un Edit qui est chaine de caractère. Faut faire ça :

    ..+StrToInt(Edit1.Text)+..
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  2. #22
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    non, simplement enlever quelque guillemet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    var i:integer;
    begin
    if (edit1.text='') then exit;
    try
       i:=strtoint(edit1.text);//simplement pour sasurer qu'il contient un integer
    except
      exit;
    edn;
    query1.Active:=false;
    query1.SQL.text:=' select * from employe where matricule='+edit1.Text+')';
    query1.Open;
    edit2.Text:=query1.ParamByName('nom').AsString;
    c'est tout
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  3. #23
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    oui j'ai compris mais j'ai des champ qui on des date^pas seulement des chaine de caractére ?

    j'aimerai les affecté 1 par 1

    merci

  4. #24
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    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
    for i:=0 to query.fields.count-1
     begin
       s:=query.fields[i].FieldName;
       case query.fields[i].datatype of
          ftSmallint, ftInteger, ftWord:
             Tedit(FindComponent(s)).text:=inttostr(query.fields[i].value);
          ftDate, ftTime, ftDateTime:
             Tedit(FindComponent(s)).text:=FormatDateTime('dd/mm/yyyy hh:nn:ss',(query.fields[i].value);
          ftCurrency:Tedit(FindComponent(s)).text:=FormatCurr('### ### ##0.00',(query.fields[i].value);
          ftString:
             Tedit(FindComponent(s)).text:=query.fields[i].value;
      end;
    par example, a toi de voir
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  5. #25
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut probléme avec date
    comment faire quand un des champs de ma table est une date ?
    la conversion se fera comment?

  6. #26
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    ftDate, ftTime, ftDateTime:
    Tedit(FindComponent(s)).text:=FormatDateTime('dd/mm/yyyy hh:nn:ss',(query.fields[i].value);
    et même je crois que delphi peut le faire mieux directement:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Tedit(FindComponent(s)).text:=query.fields[i].asstring;
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  7. #27
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    à propos quel version de delphi a tu.??quel type de base(paradox, acces,...)??
    par hazard, tu n'as pas TclientDataset??
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  8. #28
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    je vous remercie edam
    je suis entrain d'essayé ce que vous m'avez proposé
    je vous rend la réponse si ca marche
    encore merci de me répondre

  9. #29
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut probléme avec le select et up date
    bonjour à tous
    voila j'utilise delphi 7 et une base de données SQL Serveur 2003
    j'aimerais faire une recherche sur une de mes tables (employe) mais avec dans le where 3 test ( des ou je teste si l'utilisateur a tapé le matricule ou le nom ou la date de recrutement ) ca ne marche pas si je fais trois conditions alors j'ai essayé kavec le nom j'ai écrit mon select de cette facon:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    query1.Active:=false;
    query1.SQL.Clear;
    query1.SQL.Add(' select * from employe where nom='''+edit2.Text+''' ');
    j'ai ce message qui sort :
    query1: parameter 'nom' not found
    ou est l'erreur

    merci bcp

  10. #30
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut probleme avec la modification
    bonjour,
    maitenant la recherche s'effectue correctment
    j'aimerais récupéré le résultat de cette recherche qui s'affiche dans un DBGrid dans les TEdit pour permettre leur modification ensuite je clique sur un bouton qui va enregisté l'employé modifié

    kelkun pourrai maidé avec la récupération du résultat du select svp

    merci

  11. #31
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut probléme avec UP DATE
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    query1.Active:=false;
    query1.SQL.Clear;
    query1.SQL.Add('UPDATE employe  set');
    query1.SQL.Add(' nom='''+edit2.text+''' , prenom='''+edit3.text+'''  ');
    query1.SQL.Add('date_ness='''+edit4.Text+''' ,lieu_ness='''+edit5.Text+''', date_recru='''+datetostr(datetimepicker1.Date)+''',num_sec_soc='''+(edit6.Text)+''' )');
    query1.SQL.Add(' structure='''+combobox1.Text+''', departement='''+edit7.Text+''', unite='''+edit8.Text+''', fonction='''+edit9.Text+''' ) ');
    query1.SQL.Add(' where matricule='''+edit1.Text+''' or nom='''+edit2.Text+''' or date_recru='''+datetostr(datetimepicker1.DATE)+''' ');
    showmessage(query1.Text);
    query1.ExecSQL;
    employe.Refresh;

  12. #32
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Oui, et le problème est ?
    Peux-tu nous montrer le contenu du Query1.Text ?

  13. #33
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    voila ce que j'ai comme message d'erreur:
    'General SQL Error'
    line3: incorrect syntax near 'date_ness'

    encore merci

  14. #34
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    si tu utilise une dbgrid pourquoi pas aussi des TDBEdit, le boss te l'interdit ou quoi??
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  15. #35
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    je voulais le faire avec TDBEdit comme je l'avais fait pour l'insertion d'un nouvel enregistrement mais on me la déconseillé on ma di pour la recherche il vo des TEdit saur qu'aprés avoir fait une recherche je donne la main pour modifier s'il ya des erreurs c'est la que UP DATE intervient et que ca ne marche pa

    dois je essayé de tou refaire avec des TDBedit?

    merci

  16. #36
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Citation Envoyé par lila23 Voir le message
    voila ce que j'ai comme message d'erreur:
    'General SQL Error'
    line3: incorrect syntax near 'date_ness'

    encore merci
    Ba, tu dois donner un mauvais format à date_ness. Je comprends pas que l'on puisse privé quelqu'un d'utiliser les paramètres... M'enfin

    Montre nous la requête SQL en clair, c'est à dire à la place des edit4 etc etc, leur vraiment valeur... En gros, fais un copier coller du ShowMessage(query1.Text) et montre le nous.

  17. #37
    Membre émérite Avatar de edam
    Homme Profil pro
    Développeur Delphi/c++/Omnis
    Inscrit en
    Décembre 2003
    Messages
    1 894
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Delphi/c++/Omnis
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 1 894
    Points : 2 770
    Points
    2 770
    Par défaut
    ???
    j'utilise toujours des TDBEdit, moi avec Base données,
    pour la recherche, j'utilise une autre Form qui contient des Tedit, des Tcombobox, et des Tcheckbox pour spécifier les recherches,, bien sûr je peut simplement tester les zones edit si elle sont rensigner,
    je ferme ma forme de recherche(ou l'utilisateur à entrée ces critére de recherche), et selon ces critére je construit ma requéte
    je crois que tout le monde fait comme sa
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  18. #38
    Membre émérite
    Homme Profil pro
    Directeur technique
    Inscrit en
    Mai 2008
    Messages
    2 401
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : Service public

    Informations forums :
    Inscription : Mai 2008
    Messages : 2 401
    Points : 2 310
    Points
    2 310
    Par défaut
    Citation Envoyé par edam Voir le message
    ???
    j'utilise toujours des TDBEdit, moi avec Base données,
    pour la recherche, j'utilise une autre Form qui contient des Tedit, des Tcombobox, et des Tcheckbox pour spécifier les recherches,, bien sûr je peut simplement tester les zones edit si elle sont rensigner,
    je ferme ma forme de recherche(ou l'utilisateur à entrée ces critére de recherche), et selon ces critére je construit ma requéte
    je crois que tout le monde fait comme sa
    +1

    ou bien sur la même form mais en jouant sur la propriété visible; on superpose un Edit et un DBEdit et on fait apparaître celui qu'on a besoin et cacher l'autre !
    Bon courage ou Bonne Chance (selon le contexte)
    Mon blog sur WordPress

  19. #39
    Débutant Avatar de lila23
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Points : 54
    Points
    54
    Par défaut
    bonjour tout le monde,
    tout d'abord j'aimerais vous remercier de m'avoir toujours répondu c'est trés gentil
    c'est mon premier projet professionnel avec un outil ke je métrise moyennement delphi 7 avec SQL Serveur

    je dois faire la gestion du personnel, j'ai d'abord fait une forme ou l'utilisateur peut insérer un nouvel employé ensuite je lui offre la possibilité de rechercher un employé quand il clik sur le bouton rechercher il va sur un autre fenétre ou la il tape le nom de l'employé ou son matricule dans des TEdit le resultat se verra dans les TEdit et dans le DBGrid aprés cette recherche je veux lui donné la main pour qu'il modifie cet employé ou qu'il le suprimme carrement sauf que la fct UPDATE ne marche pas

    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
     
    query1.Active:=false;
    query1.SQL.Clear;
    query1.SQL.Add(' select * from employe where matricule='''+edit1.Text+''' or nom='''+edit2.Text+''' ');
    query1.Open;
    edit2.Text:=query1.FieldValues['nom'];
    edit3.Text:=query1.FieldValues['prenom'];
    edit4.Text:=query1.FieldValues['date_ness'];
    edit5.Text:=query1.FieldValues['lieu_ness'];
    //datetimepicker1.DateTime:=query1.FieldValues['date_recru'];
    edit6.Text:=query1.FieldValues['num_sec_soc'];
    combobox1.Text:=query1.FieldValues['structure'];
    edit7.Text:=query1.FieldValues['departement'];
    edit8.Text:=query1.FieldValues['unite'];
    edit9.Text:=query1.FieldValues['fonction'];
    ce code c'est pour la recherche et la récupération du résultat dans les Edit
    et le code suivant c'est celui pour la modif?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    query1.Active:=false;
    query1.SQL.Clear;
    query1.SQL.Add(' update employe  set ');
    query1.SQL.Add(' nom='''+edit2.text+''' , prenom='''+edit3.text+'''  ');
    query1.SQL.Add(' date_ness='''+edit4.Text+''', lieu_ness='''+edit5.Text+''', date_recru='''+datetostr(datetimepicker1.Date)+''',num_sec_soc='''+(edit6.Text)+''' ) ');
    query1.SQL.Add(' structure='''+combobox1.Text+''', departement='''+edit7.Text+''', unite='''+edit8.Text+''', fonction='''+edit9.Text+''' ) ');
    query1.SQL.Add(' where matricule='''+edit1.Text+''' or nom='''+edit2.Text+''' or date_recru='''+datetostr(datetimepicker1.DATE)+''' ');
    showmessage(query1.Text);
    query1.ExecSQL;
    employe.Refresh;
    voila ce que j'ai comme erreur:

    'General SQL Error'
    line3: incorrect syntax near 'date_ness'.

    svp aidez moi et merci infiniment

  20. #40
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Nord (Nord Pas de Calais)

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

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Points : 4 935
    Points
    4 935
    Par défaut
    Salut,

    Tout le monde est prêt à t'aider pour résoudre ton problème, mais essaie d'être un peu précis. La requête telle que tu nous l'a montrée (la syntaxe) est bonne mais il nous fait la requête avec les vraies valeur...

    Citation Envoyé par ero-sennin Voir le message
    Ba, tu dois donner un mauvais format à date_ness.

    Montre nous la requête SQL en clair, c'est à dire à la place des edit4 etc etc, leur vraie valeur... En gros, fais un copier coller du ShowMessage(query1.Text) et montre le nous.
    Lorsque tu auras mis le contenu de ce ShowMessage, alors là, on pourra vraiment t'être utile. Pour l'instant, on marche à taton et comme tu peux le voir, ça n'avance pas beaucoup.

    Un petit conseil qui pourra t'être très très utile par la suite. Lorsque tu déposes un composant sur une Form, renomme tout de suite (propriété Name). D'une part, ça te sera plus parlant lorsque devra reprendre le projet plus tard, et d'autre part, pour nous c'est d'autant plus clair
    Ce n'est qu'un conseil, libre à toi de le suivre ou non

    Allé, on y croit

Discussions similaires

  1. [INSERT][SELECT] insert avec un select imbriqué
    Par narmataru dans le forum SQL
    Réponses: 11
    Dernier message: 06/03/2013, 03h04
  2. Requête Insertion avec un TQuery
    Par delphino7 dans le forum Bases de données
    Réponses: 44
    Dernier message: 29/03/2008, 15h16
  3. Probleme de Refresh avec TQuery et DBGrid
    Par insoo dans le forum C++Builder
    Réponses: 7
    Dernier message: 25/11/2003, 17h20
  4. INSERT avec procédure stockée / Clef de type AutoInc
    Par bgdelphi dans le forum Bases de données
    Réponses: 5
    Dernier message: 18/10/2003, 18h30
  5. Problème d'insertion avec MySQL
    Par Sonny dans le forum ASP
    Réponses: 13
    Dernier message: 28/08/2003, 13h52

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