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 :

Erreur de la création du handle erreur


Sujet :

Bases de données Delphi

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 73
    Points : 48
    Points
    48
    Par défaut Erreur de la création du handle erreur
    Bonjour si quelqu'un pourrait m'éclairer, je n'arrive pas active ma Query. Pourtant tout me parait juste.

    Ce sont des TEdit qui modifie la valeur des champs dans une base de données.

    Voici le code de mon bouton modifier:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Query2ModificationClient.close;
    Query2ModificationClient.ParamByName('nom').asstring := EdNom.text ;
    Query2ModificationClient.ParamByName('prenom').asstring := EdPrenom.text ;
    Query2ModificationClient.ParamByName('adresse').asstring := EdAdresse.text ;
    Query2ModificationClient.ParamByName('numeroclient').asstring := EdNumero.text ;
     
    Query2ModificationClient.ExecSQL;
     
    Query1ModificationClient.close;
    Query1ModificationClient.open;
    et la requête de mon Query :
    Code SQL : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    update clients 
    set nom = :nom,
    prenom = :prenom,
    adresse= :adresse
    where numeroclient = :numeroclient ;


    La table étant "clients"
    avec comme propriétés:
    -numeroclient
    -nom
    -prenom
    -adresse

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    bonjour,

    Utilises QuotedStr(Chaine) par précaution
    Numeroclient est-il vraiment string ?

    et enfin , pour mettre en exergue le code , utilises le bouton #
    ce qui va mettre dans ton texte de message [ CODE ] en debut et [ /CODE] en fin
    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
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 73
    Points : 48
    Points
    48
    Par défaut
    Ou dois-je utiliser la fonction QuotedStr(Chaine) ??

    Numeroclient est en integer mais j'ai bien essayé de changer dans mon code le :
    Query2ModificationClient.ParamByName('numeroclient').asint := EdNumero.text ;

    et dans les Params de ma Query en vain

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    C'est vrai que j'ai été peu explicite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Query2ModificationClient.ParamByName('nom').asstring :=QuotedStr( EdNom.text) ;
    Query2ModificationClient.ParamByName('prenom').asstring :=QuotedStr( EdPrenom.text) ;
    Query2ModificationClient.ParamByName('adresse').asstring := QuotedStr(EdAdresse.text) ;
    Query2ModificationClient.ParamByName('numeroclient').asInteger := StrToInt(EdNumero.text) ;
    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

  5. #5
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    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 235
    Points : 8 504
    Points
    8 504
    Par défaut
    Le QuotedStr n'est pas utile quand on utilise les paramètres avec une requête et de plus ça risque rajouter des quotes dans les chaines de texte..

    Sinon, pour ta requête si tu remplis dynamiquement le composant, il faut toujours penser à utiliser ParamCheck.
    Et pour finir, il serait peut être mieux de ne pas avoir le même nom entre les champs et les paramètres, on sait jamais un composant qui fonctionne mal et il ne retrouve pas ses petits

    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
     
    With Query2ModificationClient do
    begin
      close;
      SQL.Clear;
      SQL.Add('UPDATE clients'); 
      SQL.Add('SET nom = :pnom,');
      SQL.Add('prenom = :pprenom,');
      SQL.Add('adresse= :padresse');
      SQL.Add('WHERE numeroclient = :pnumeroclient');
      ParamCheck := True;
      ParamByName('pnom').asstring := EdNom.text ;
      ParamByName('pprenom').asstring := EdPrenom.text ;
      ParamByName('padresse').asstring := EdAdresse.text ;
      // attention avec le StrToInt, il serait bien de vérifier que c'est bien numérique avant
      ParamByName('pnumeroclient').asInteger := StrToInt(EdNumero.text);
      ExecSQL;
    end;
    // inutile de fermer et réouvrir une requete type Insert/update, en plus ca doit faire un message d'erreur 
    //Query1ModificationClient.close;
    //Query1ModificationClient.open;
    Modérateur Delphi

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

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 043
    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 043
    Points : 40 957
    Points
    40 957
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par Rayek Voir le message
    Le QuotedStr n'est pas utile quand on utilise les paramètres avec une requête et de plus ça risque rajouter des quotes dans les chaines de texte..
    Exact , méa culpa, mais je crains les espaces et/ou apostrophes dans les zones de saisie
    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

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 73
    Points : 48
    Points
    48
    Par défaut
    Merci pour ton aide SergioMaster
    Je peux compter sur ce forum en tout cas, il m'a l'air semer de personnes compétentes

Discussions similaires

  1. Erreur "erreur pendant la création du handle"
    Par kroma23 dans le forum Bases de données
    Réponses: 5
    Dernier message: 24/10/2012, 10h07
  2. Erreur à la création du handle de curseur
    Par souminet dans le forum Bases de données
    Réponses: 6
    Dernier message: 03/02/2008, 09h08
  3. Erreur lors de création d'un MDE
    Par delcroixf dans le forum Access
    Réponses: 1
    Dernier message: 11/02/2007, 07h45
  4. Création message d'erreur
    Par TRIMASTER dans le forum Access
    Réponses: 6
    Dernier message: 22/12/2006, 22h18
  5. Erreur pour la création d'un XMLService
    Par jacma dans le forum XMLRAD
    Réponses: 13
    Dernier message: 25/07/2005, 23h26

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