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 :

Copier des enregistrements d'une table à une autre en utilisant des paramètres


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut Copier des enregistrements d'une table à une autre en utilisant des paramètres
    bonjour
    J’utilise ce code pour transférer des enregistrements d'une table à l'autre en utilisant des paramètres.
    Mais le problème qui me ploque que les dates Nulles transférés dans le champ (date_enr) prenne par défaut 30/12/1899
    S’il vous plaît aidez mois à corriger ce code et bon courage
    Merci.


    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
     
    var
    i : integer;
    Begin
     
    DM1.Source.close;
    DM1.Source.open;
    DM1.Source.first;
     
    While Not DM1.Source.eof  Do
     
    Begin
     With DM1.destination Do
     
         Begin
         Active:=False;
         SQL.Clear;
         SQL.Add('Insert into customer (N°, FIRSTNAME,LASTNAME,CITY,COUNTRY,date_enr)');
         SQL.Add('Values (:b1 , :b2 , :b3 , :b4 , :b5, :b6)');
       for i:= 0 to DM1.Source.FieldCount-1 do
         Params[i].Value := DM1.source.Fields[i].Value;
         ExecSQL;
         End;
       DM1.source.next;
    End;

  2. #2
    Rédacteur/Modérateur

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

    avec tout bon SGBD, une copie de table à table peut se faire en un seul SQL pas besoin de tant de code !
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    INSERT INTO TABLEDESTINATION(champs destinations) SELECT (champs sources) FROM TABLESOURCE
    pour ce qui est de la date c'est une autre histoire qui dépend plus du SGBD qu'autre chose
    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
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    Bonsoir

    merci pour ta réponse mais le problème j'utilise deux (databaseName) différentes
    la table source est dans un serveur à distance
    et la table destinataire dans mon serveur

    Bon Courage

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    bonjour

    Je voudrais copier une table d'une base de données à l'autre. Je sais que vous pouvez facilement faire ce qui suit si les bases de données sont sur le même serveur SQL.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO TABLEDESTINATION(champs destinations) SELECT (champs sources) FROM TABLESOURCE
    Existe-t-il un moyen simple de le faire si les bases de données se trouvent sur deux serveurs SQL différents, sans devoir parcourir tous les enregistrements de la table d'origine et les insérer dans la nouvelle table?

  5. #5
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 064
    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 064
    Points : 41 021
    Points
    41 021
    Billets dans le blog
    62
    Par défaut
    Bonjour difficile à dire quand on a aucune indication du dit SGBD ! (à moins que je n'ai besoin de nouvelles lunettes)
    Avec Firebird 2.5 c'est possible
    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
    Futur Membre du Club
    Homme Profil pro
    Ingénieur commercial
    Inscrit en
    Juin 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ariège (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur commercial
    Secteur : Distribution

    Informations forums :
    Inscription : Juin 2011
    Messages : 10
    Points : 6
    Points
    6
    Par défaut
    bonjour

    le serveur de base de données Source : ingres
    et le serveur de base de données destination flashfiler

    Comment faire et Merci

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

Discussions similaires

  1. [AC-2007] insérer des enregistrements au milieu d'une table
    Par kroma23 dans le forum Access
    Réponses: 2
    Dernier message: 28/01/2016, 09h33
  2. [AC-2010] Enregistrer Valeurs Champ d'une table à une autre
    Par piwa6291 dans le forum VBA Access
    Réponses: 2
    Dernier message: 20/03/2015, 14h13
  3. Réponses: 6
    Dernier message: 28/01/2015, 16h34
  4. Réponses: 30
    Dernier message: 30/05/2009, 18h49
  5. Réponses: 2
    Dernier message: 27/07/2006, 07h46

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