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 :

Requete parametre insert


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut Requete parametre insert
    Bonjour,
    comme on me la conseille, je teste les requete paramettre.

    Pas gagne.

    J'ai une base test (mysql)avec une table "donne" et 3 champs

    nom
    prenom
    dat1

    Tous de type char(pour les problemes de typage que je ne maitrise pas).
    une form avec un sqlquery,et deux edit, un dbgrid pour affiche les donne.Du basique quoi.

    Dans le query la ligne sql(" insert into donne (nom) values :pnom " ) pnom etant un parametre rentre dans le query comme je l'ai lu.(je teste une valeur a la fois .

    Ma requete parametre sur mon boutton1.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    uery2.Active:=false;
     
    query2.Params[0].AsString:=(edit1.Text) ;
     
    query2.ExecSQL;
    Et lors de la validaton, j'ai un message d erreur sql me disant que j'ai une erreur sql ligne2???

    je ne voit pas ou???

  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
    Donnes nous le code complet avec la requete.

    Sinon, est ce que tes autres champs de la table acceptent les valeurs nulles ?

    Petite remarque : pourquoi nommer un paramètre :pnom et l'appeler avec params[0] ?

    Moi je te conseil l'utilisation de ParamByName qui t'évitera des problèmes si tu déplaces ton paramètre.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Query2.ParamByName('PNom').value := edit1.Text;
    Derniere remarque : renomme tes composants, c'est plus simple après pour savoir qui est quoi pour nous, pour toi et peut être pour ceux qui seront sur ce code après toi.

    Ex: au lieu de Edit1, tu l'appels edtNom.
    Modérateur Delphi

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

  3. #3
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut
    Merci

    la table accepte les valeur null.

    J'ai renomer les composants.(c'est mieux )
    le code complet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    requete sql du query
    insert into donne (nom) values :pnom
     
    procedure TForm1.Button6Click(Sender: TObject);
    begin
    query2.Active:=false;
     
    query2.ParamByName('pnom').Value:=(nom.Text) ;
     
    query2.ExecSQL;
     
     
    end;
    Jespere que c'est mieux

    mais, j'ai toujours la meme erreur

    J'ai reussi a la recupere dans le moniteur sql(je viens decouvrir

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    11:38:46  SQL Error: MySQL ODBC 3.51 Driver - [MySQL][ODBC 3.51 Driver][mysqld-3.23.40-max-nt]You have an error in your SQL syntax near ''nom'
    ' at line 2
    mais je vois pas ou

    merci

  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
    Il te manque des () dans la requete

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    insert into donne (nom) values (:pnom)
    Modérateur Delphi

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

  5. #5
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut
    >Merci trop fort sur ma doc y en a pas.

    Pour mettre plusieur champ

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    insert into donne (nom,prenom,dat1) values (:pnom,pprenom,pdate)

  6. #6
    Membre éprouvé
    Avatar de neuneu1
    Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Avril 2007
    Messages
    1 874
    Détails du profil
    Informations personnelles :
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 874
    Par défaut
    Bon ben j'ai essaye comme le code ci-dessus , et dans les chouTout les exemple que j'ai ne passe que par un parametre.

    je vais cherche en core sur le net

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

Discussions similaires

  1. PL/SQL Insertion avec requete parametrée
    Par shub dans le forum PL/SQL
    Réponses: 9
    Dernier message: 15/04/2008, 14h00
  2. [PB] requete d'insertion avec group by
    Par warraf dans le forum Langage SQL
    Réponses: 4
    Dernier message: 30/11/2005, 07h01
  3. Probleme de requete d insertion
    Par donny dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 08/07/2005, 17h59
  4. [excel > sql] effectuer requete d'insertion
    Par kiki93 dans le forum Requêtes
    Réponses: 2
    Dernier message: 16/02/2005, 15h30
  5. Requete parametrée TADOQuery
    Par cdlr27 dans le forum Bases de données
    Réponses: 3
    Dernier message: 01/05/2004, 18h41

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