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 :

Pb de remplissage de table avec ExecSql


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 Pb de remplissage de table avec ExecSql
    Bonjour
    Je veux créer une table à partir d'une sélection dans un fichier .txt.

    Comme je ne peux pas appliquer de requête sur ce fichier, je le transfère dans une table temporaire Paradox par BatchMove. Cette table comporte le même nombre d'enregistrements que mon fichier .txt.


    Pourtant, après ExecSql d'une requête de sélection des champs qui m'intéressent, les enregistrements sont apparemment copiés 2 fois et si je mets un clé sur un champs j'ai une erreur d'exécution.

    Et si j'ouvre la table avec le module de base de données BDE, elle est renseignée comme contenant 6 enregisrements alors que j'en vois 12. Quand je sélectionne tout pour les effacer, il n'encadre que les 6 premiers mais par contre il les efface tous.


    Source :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    Begin
     TableDiv.Open;
     if TableDiv.RecordCount = 0 Then
       Begin
        Tablediv.Close;
        with TableTemp do  // Création de la table temporaire
         begin
         TableType := ttParadox;
         TableName := 'TempTable';
         with FieldDefs do  // Définition de champs de la table temporaire Div
          begin   
           Clear;      // Description des champs
           Add('DivCode', ftSmallInt, 0, True);
           Add('Localite', ftString, 32, True);
           Add('lt', ftString, 1, True);
           Add('admnr', ftString, 5, False);
           Add('Div', ftSmallInt, 0, True);
           Add('Commune', ftString, 25, True);
           Add('Mut', ftString, 2, False);
           Add('Dan2', ftString, 32, False);
           Add('adm2', ftString, 25, False);
         end;
         CreateTable;
         TableCadaTemp.TableName := 'da.txt';
         BatchMoveTemp.Execute;
         CreateQuery.Close;     // Transfert dans TableDiv
         CreateQuery.SQL.Text;
         CreateQuery.SQL.Clear;
         CreateQuery.SQL.Add('Insert into TableDiv (Div, Localite, Commune, DivCode) ');
         CreateQuery.SQL.Add('Select Div, Localite, Commune, DivCode ' );
         CreateQuery.SQL.Add('FROM TempTable;');
         CreateQuery.ExecSQL;
       end;
    end;
    Quelqu'un aurait-il une idée pour m'aider à résoudre ce problème.

    Merci d'avance

    [edit] Balises de code ajoutées par Pascal Jankowki[/edit]

  2. #2
    Membre expérimenté

    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    897
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 897
    Points : 1 561
    Points
    1 561
    Par défaut
    Vérifie grâce à une opération de débugage pas à pas si tu n'exécutes pas cette partie de code deux fois, par hasard.

    Utilise débugage avec F4

    Cordialement
    Pensez à utiliser les tags dans le titre.
    Avant de poser une question reportez-vous à la FAQ Delphi
    Respectez les règles du forum.

Discussions similaires

  1. Remplissage d'une table avec requête ODBC
    Par Marc_27 dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/11/2009, 14h19
  2. Réponses: 0
    Dernier message: 14/12/2008, 11h49
  3. [WD10] remplissage d'une table avec une requête
    Par zwina2004 dans le forum WinDev
    Réponses: 2
    Dernier message: 14/08/2008, 09h42
  4. Remplissage table avec les jours d'un mois
    Par tomtom25 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 06/05/2005, 14h32
  5. Création de table avec index
    Par Seb7 dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/04/2003, 16h11

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