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 :

probleme requete sql insert


Sujet :

Bases de données Delphi

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Points : 7
    Points
    7
    Par défaut probleme requete sql insert
    Bonsoir

    je travail avec une base paradox7
    j'ai un probleme avec cette requette ca block au niveau du nom.
    sachant que dans fidentif.DBuser.Text il ya un nom et un prenom separé par un espace.

    voici la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ftotal.qtotal.sql.clear;
    ftotal.qtotal.sql.add('insert into totalconso');
    ftotal.qtotal.sql.add('(Date,Nom,Vehicule,Kilometrage,Quantite,Mois,Annee)');
    ftotal.qtotal.sql.add('values("'+formatdatetime('mm/dd/yyyy',t)+'","'+fidentif.DBuser.Text+'","'+fgesttache.dbevehicule.text+'","'+fgesttache.dbekilo.text+'","'+fgesttache.dbesum.text+'","'+fgesttache.emois.text+'","'+fgesttache.eannee.text+'")');
    ftotal.qtotal.execsql;
    Merci!!

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    1- utilises les balises de code (bouton #) lorsque tu mets du code dans tes messages

    2- plutôt que de mettre des doubles guillemets utilises quotedStr(valeur.text)

    3- utilises des requêtes paramétrées , cela évite beaucoup de problèmes , entre autres avec les dates . C'est un peu plus long à écrire mais plus facile a lire


    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
     
    with ftotal.qtotal do
    begin
      sql.clear;
      sql.add('insert into totalconso');
      sql.add('(Date,Nom,Vehicule,Kilometrage,Quantite,Mois,Annee)');
      sql.add('values ( :D,:U,:V,:K,:S,:M,:A)');
      ParamByName('D').asDateTime:=t;
      ParamByName('U').asString:=fidentif.DBuser.Text;
      ParamByName('V').asString:=fgesttache.dbevehicule.text;
      ParamByName('K').asString:=fgesttache.dbekilo.text;
      ParamByName('S').asString:=fgesttache.dbesum.text;
      ParamByName('M').asString:=fgesttache.emois.text;
      ParamByName('A').asString:=fgesttache.eannee.text;
      execsql;
    end;
    PS . je ne suis pas sur que KIlometrage, Quantité,mois et année ai besoin d'etre Texte mais ne sachant pas la définition des champs j'ai fait avec le code de départ
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    1- utilises les balises de code (bouton #) lorsque tu mets du code dans tes messages

    2- plutôt que de mettre des doubles guillemets utilises quotedStr(valeur.text)

    3- utilises des requêtes paramétrées , cela évite beaucoup de problèmes , entre autres avec les dates . C'est un peu plus long à écrire mais plus facile a lire


    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
     
    with ftotal.qtotal do
    begin
      sql.clear;
      sql.add('insert into totalconso');
      sql.add('(Date,Nom,Vehicule,Kilometrage,Quantite,Mois,Annee)');
      sql.add('values ( :D,:U,:V,:K,:S,:M,:A)');
      ParamByName('D').asDateTime:=t;
      ParamByName('U').asString:=fidentif.DBuser.Text;
      ParamByName('V').asString:=fgesttache.dbevehicule.text;
      ParamByName('K').asString:=fgesttache.dbekilo.text;
      ParamByName('S').asString:=fgesttache.dbesum.text;
      ParamByName('M').asString:=fgesttache.emois.text;
      ParamByName('A').asString:=fgesttache.eannee.text;
      execsql;
    end;
    PS . je ne suis pas sur que KIlometrage, Quantité,mois et année ai besoin d'etre Texte mais ne sachant pas la définition des champs j'ai fait avec le code de départ
    Merci pour ta réponse mais les chmaps citer ci dessus c'est des chmps declaré numerique dans ma table
    merci

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    re
    ca marche pas et voila le message d'erreur



    cordialement

  5. #5
    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 771
    Points
    2 771
    Par défaut
    tu as vu ce poste
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  6. #6
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par edam Voir le message
    tu as vu ce poste
    RE
    j'ai vu mais ca ma pas trop aider

  7. #7
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 042
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 042
    Points : 40 955
    Points
    40 955
    Billets dans le blog
    62
    Par défaut
    Date est un mot réservé , la meilleure solution est de renommer ce champ
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  8. #8
    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 771
    Points
    2 771
    Par défaut
    Citation Envoyé par toxicoakatox Voir le message
    RE
    j'ai vu mais ca ma pas trop aider
    je veux simplement te dire pourquoi utilisé Paradox, si tu as d'autre BD; pour ne pas utlisé le BDE,
    en plus si tu fait sa, pourquoi pas utlisé directement des composant orienté données
    PAS DE DESTIN, C'EST CE QUE NOUS FAISONS

  9. #9
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 19
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par edam Voir le message
    je veux simplement te dire pourquoi utilisé Paradox, si tu as d'autre BD; pour ne pas utlisé le BDE,
    en plus si tu fait sa, pourquoi pas utlisé directement des composant orienté données
    Merci pour ta réponse mais c juste te dire que je suis encore débutant et c'est pour ça que j'utilise paradox mais c bon j'ai trouvé mon problème un Merci a vous tous et surtout a SergioMaster car c'été bien le champ date qui causer le problème

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

Discussions similaires

  1. Probleme requete sql avec insert
    Par affaf09 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 21/05/2015, 21h59
  2. [C#] Requete SQL Insert
    Par diaboloche dans le forum Windows Forms
    Réponses: 2
    Dernier message: 10/02/2006, 11h01
  3. probleme requete SQL
    Par grochenel dans le forum Langage SQL
    Réponses: 7
    Dernier message: 12/12/2005, 09h26
  4. [MySQL] probleme requete sql et php
    Par digger dans le forum PHP & Base de données
    Réponses: 6
    Dernier message: 10/10/2005, 14h15
  5. probleme requete sql
    Par Shosho dans le forum Langage SQL
    Réponses: 12
    Dernier message: 03/05/2005, 09h25

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