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 :

Problème avec BatchMove


Sujet :

Bases de données Delphi

  1. #1
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut Problème avec BatchMove
    Bonsoir à tous

    J'utilise le composant TBatchMove avec un TQuery comme Source et un TTable en Destination.

    La première exécution du composant TBatchMove me retourne une table dont le contenu correspond à mes attentes.

    Dans le cours de mon programme, la requête est modifiée. Mais à l'exécution du composant TBatchMove qui suit, le contenu de la table de destination n'est pas modifié. J'ai vérifié le contenu de la requête et il a bien été modifié.

    J'ai tout essayé : vider la table de destination, la détruire et la recréer... Rien n'y fait.


    Merci d'avance à tout qui pourrait me résoudre ce problème.

  2. #2
    Membre chevronné Avatar de philnext
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    1 552
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 1 552
    Points : 1 780
    Points
    1 780
    Par défaut
    Bon ça ne répond pas à ta question mais je te conseille de faire ce genre de manips avec une requète SQL. De cette manière tu as une meilleur maîtrise de ce qui se passe.

  3. #3
    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
    Cela fait longtemps que je n'ai plus utilisé Batchmove (excellent par ailleurs dommage qu'il ne soit qu'avec BDE) .
    Je pense que cela vient de l'option que tu utilises BatAppend,BatCopy etc ...
    Dis-en un peu plus
    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

  4. #4
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    J'ai abandonné pour une requête Sql comme suggéré par philnext qui ne pose aucun problème

    Mais, cette expérience remet en question la fiabilité de TBatchMove.

  5. #5
    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
    Bizarre quand même , j'ai ,il y a de cela longtemps, fait un programme de réplication de base de données (une 20 de tables) avec batchmove et jusqu'à présent il est toujours opérationnel .

    pour ces tables et Query je n'utilisait pourtant qu'un seul composant batchmove
    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

  6. #6
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Points : 1 199
    Points
    1 199
    Par défaut
    Ceci fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
        TableRadius.Close;
        SqlQuery.SQL.Clear;
        SqlQuery.SQL.Add('Insert into "' + CurDir + '\Temp\XlRadius.Db" ' +
                         'Select * From "' + CurDir + '\Temp\TableRadius.Db" ' +
                         'Where ParcelM2 <> 0');
        SqlQuery.ExecSql;
    Mais ce qui suit donne le résultat décrit dans mon premier message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        TableRadius.Close;
        SqlQuery.SQL.Clear;
        SqlQuery.SQL.Add('Select * From "' + CurDir + '\Temp\TableRadius.Db" ' +
                         'Where ParcelM2 <> 0');
        SqlQuery.ExecSql;
        BatchMove.Source := SqlQuery;
        BatchMove.Destination := XLTableRadius;
        BatchMove.Execute;

  7. #7
    Membre chevronné Avatar de chaplin
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 215
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 215
    Points : 1 819
    Points
    1 819
    Par défaut
    Ne faudrait-il pas utiliser la BDE de bout en bout, pour le dataset source et de destination. J'ai toujours procédé ainsi, et je n'ai jamais eu de problème tout en faisant attention au type d'option BatAppend,BatCopy.

  8. #8
    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
    je vois au moins une source d'erreur !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
      TableRadius.Close;
        SqlQuery.SQL.Clear;
        SqlQuery.SQL.Add('Select * From "' + CurDir + '\Temp\TableRadius.Db" ' +
                         'Where ParcelM2 <> 0');
        SqlQuery.Open;
        BatchMove.Source := SqlQuery;
        BatchMove.Destination := XLTableRadius;
        BatchMove.Execute;
    c'est SQlQuery.Open qu'il faut mettre au lieu de SQLQuery.ExecSQL mais c'est peut être une faute de copier coller ?
    sans parler bien sur comme le dit Chaplin de l'option
    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

Discussions similaires

  1. Problème avec Batchmove
    Par Oluha dans le forum Bases de données
    Réponses: 1
    Dernier message: 25/04/2005, 16h06
  2. VC++ Direct3D8, problème avec LPD3DXFONT et LPD3DTEXTURE8
    Par Magus (Dave) dans le forum DirectX
    Réponses: 3
    Dernier message: 03/08/2002, 11h10
  3. Problème avec le type 'Corba::Any_out'
    Par Steven dans le forum CORBA
    Réponses: 2
    Dernier message: 14/07/2002, 18h48
  4. Problème avec la mémoire virtuelle
    Par Anonymous dans le forum CORBA
    Réponses: 13
    Dernier message: 16/04/2002, 16h10

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