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 :

[Urgent]Handle de BLOB incorrect


Sujet :

Bases de données Delphi

  1. #1
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut [Urgent]Handle de BLOB incorrect
    Bonjour à toutes et à tous,

    J'ai un DBGrid affichant les tuples d'une requête.

    J'ai 4 EDIT qui permettent l'édition et l'affichage d'attributs de ces tuples.

    Mon bouton d'enregistrement des données des Edit dans la BDD
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //lancement de la requête de mise à jour
    //actualisation de l'affichage dans le DBGrid
    With query_affichage_dbgrid do
          begin
          Close;
          Open;
          Locate('identifiant_dossier;dossier_traite',VarArrayOf([Edit_identifiant.Text,Edit_traitement.Text]),[locaseinsensitive]);
    Ensuite si je veux passer d'une ligne à une autre (tuple) de mon DBGrid, j'ai la procédure suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    procedure Tfiche_dos_min.DBGrid_dos_minDblClick(Sender: TObject);
    begin
       Edit_num_dos.text := Query_affichage_DBGridIdentifiant_dossier.Value;
       Edit_traitement.text := InttoStr(Query_affichage_DBGriddossier_traite.Value);
    end;

    Tout marche pour le mieux comme celà, un double clic sur une ligne du DBGrid et les valeurs correspondent dans les Edit.

    Le soucis étant que j'ai 4 EDIT (2 edit, 1 DateTimePicker et un memo) qui sont editable et dont les valeurs doivent concorder avec celles de la navigation du DBGrid.

    Mais si je rajoute dans le code le datetimepicker et le memo, cela me provoque l'erreur suivante sur la procédure doubleclick du DBGrid:
    Classe d'exception EDBEngineError avec le message 'Handle de BLOB incorrect dans le tampon d'enregistrement'


    DTP_date_traitement.Date := query_affichage_DBGriddate_traitement.value;
    Memo_commentaire.Text := Query_affichage_DBGridcommentaire.Value;

    ===> Ce sont les 2 champs éditables ainsi que leur attribut dans la requête d'affichage.

    Merci de m'aider s'il vous plait ^^

  2. #2
    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
    DTP_date_traitement.Date := query_affichage_DBGriddate_traitement.value;
    Memo_commentaire.Text := Query_affichage_DBGridcommentaire.Value;
    le problème c'est qu'il ne doivent pas recevoir correctement les valeurs.

    essaie avec ca

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    DTP_date_traitement.Date := query_affichage_DBGrid.FieldByName('date_traitement').AsDateTime;
    Memo_commentaire.Text := Query_affichage_DBGrid.FieldByName('commentaire').asString;

  3. #3
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    j'ai toujours la même erreur avec l'ajou de ces 2 lignes et la rectification des 2 autres.


    la chose que je me demande c'est si la ligne

    Locate('identifiant_dossier;dossier_traite',VarArrayOf([Edit_identifiant.Text,Edit_traitement.Text]),[locaseinsensitive]);

    est incompléte

    Ne manquerait il pas les indicateurs : date_traitement et commentaire

  4. #4
    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
    Non, locate sert uniquement à repositionner ton dataset.

    Mais en fait je pense à une chose, pourquoi tu n'utilises pas un datasource + des dbtext/edit ou dbmemo ?

  5. #5
    Membre à l'essai
    Inscrit en
    Décembre 2005
    Messages
    34
    Détails du profil
    Informations forums :
    Inscription : Décembre 2005
    Messages : 34
    Points : 10
    Points
    10
    Par défaut
    Et bien en fait je ne peux pas changer la valeur d'un DBMemo par exemple (je n'ai pas vu la propriété pour le rendre éditable du moins)

    Concrétement,si je clique dans le dbmemo, la valeur affichée s'efface et je ne peux rien saisir au clavier à l'intérieur


    Il faut en fait que les EDIT Date_time_picker et Memo soit en lecture/écriture


    J'ai toujours cette erreur de tempon à cause du Memo et du Date_time_picker

  6. #6
    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 problème doit venir de tout facon uniquement du mémo.

    Si ta requete est une requete multitable c'est normal que tu ne puisses pas éditer.

    Essaie quand meme cela :

    1- tu poses un datasource sur ta form et tu le lies à ta requete
    2 - tu poses un dbmemo sur ta form et tu le lies au datasource et tu mets le bon champs.
    3- tu vérifies que ca fonctionne deja comme ça au niveau de l'affichage dans le dbmemo.
    4- puis tu codes ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      Memo_commentaire.text := DbMemo1.text;
    C'est pas superpropre mais ca a le mérite de devoir focntionner ^^

Discussions similaires

  1. Probleme "handle de BLOB incorrect"
    Par alakauf dans le forum Bases de données
    Réponses: 1
    Dernier message: 15/11/2009, 02h38
  2. Handle Fenetre incorrect 1400
    Par moulery dans le forum Langage
    Réponses: 1
    Dernier message: 30/08/2007, 15h09
  3. Pb longueur de blob incorrecte...?
    Par korntex5 dans le forum Access
    Réponses: 6
    Dernier message: 10/01/2006, 15h05
  4. [D 7][dbExpress]handle incorrect à l'ouverture d' un dataset
    Par Giovanny Temgoua dans le forum Bases de données
    Réponses: 1
    Dernier message: 09/05/2005, 15h23
  5. URGENT: retour de string
    Par Pinggui dans le forum CORBA
    Réponses: 4
    Dernier message: 15/07/2002, 10h47

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