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 copie table par INSERT


Sujet :

Bases de données Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut pb copie table par INSERT
    Bonjour je fais une instruction toute simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO Arbo
           SELECT *
           FROM ArboLocomotive;
    Et il me met l'erreur :

    EBDEngineError avec "Parametre incorrect.".

    Je ne sais pas d'ou cela vient!

    Surtout que mes deux tables sont identiques en champs...

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    158
    Détails du profil
    Informations personnelles :
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 158
    Par défaut
    Bonjour,

    J'uttilise MS SQL Server 2000, pas de problème cela fonctionne

    create table Table1 (A int)
    create table Table2 (A int)

    insert into Table1 values(1)

    INSERT INTO Table2 select * from table1

    select * from table2

    A
    -----------
    1

    drop table table1
    drop table table2

    A+

  3. #3
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 236
    Par défaut
    Citation Envoyé par forzaxelah
    Bonjour je fais une instruction toute simple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    INSERT INTO Arbo
           SELECT *
           FROM ArboLocomotive;
    Et il me met l'erreur :

    EBDEngineError avec "Parametre incorrect.".

    Je ne sais pas d'ou cela vient!

    Surtout que mes deux tables sont identiques en champs...
    Je crois que ce type de requete n'est pas possible avec paradox (pas sur à 100%).
    Modérateur Delphi

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

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    Si ça a marché.
    Je sais pas pkoi d'ailleurs, j'ai repris une autre table qui était identique et ça a marché....

    Bref! Et lorsque j'ai "transféré" le tout dans la table Arbo, je vais tout enregistrer dans une table qui est propre.
    Donc on a :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    WITH DataModule1.QArbo DO
    BEGIN
    SQL.Clear;
    SQL.Add('SELECT * INTO "'''+Nom_Arbo+'''.db" FROM Arbo');
    ExecSQL;
    END;
    end;
    Mais j'ai encore une erreur, il me marque "Utilisation incorrecte du mot clé INTO"....

    j'essaie de voir si c'est pas encore un pb de table....




    PS: je vais vraiment me mettre en MySQL psq Paradox c'est assez limité quand même...

  5. #5
    Membre chevronné Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Par défaut
    Si tu utilise le BDE, cette fonction copie une table avec sa structure dans le même repertoire.(peut-être elle t'aideras?)

    appel de la fonction :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    NomTableOriginale.Exclusive:=True;
    CopyTable(Table1.dbhandle, 'NomTableOriginale.DB', 'NomTableCopie.DB');
    Implementation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    procedure CopyTable(hTmpDb: hDbiDb; SrcTableName: String; DestName: String);
    begin
      Check(DbiCopyTable(hTmpDb, True, PChar(SrcTableName), nil, PChar(DestName)));
    end;

  6. #6
    Membre chevronné Avatar de Bejaia-In
    Inscrit en
    Avril 2006
    Messages
    365
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 365
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    WITH DataModule1.QArbo DO
    BEGIN
    SQL.Clear;
    SQL.Add('SELECT * INTO "'''+Nom_Arbo+'''.db" FROM Arbo');
    ExecSQL;
    END;
    end;
    Il y a une erreur dans ta requette, le mot cle INTO ne s'utilise pas avec la commande SELECT.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    POur ce qui est de BDE, j'aimerais bien faire la programmation en utilisant une requete SQL car si je veux migrer apres ou autre, j'aimerais bien avoir une porgrammation ne dépendant pas trop des outils mais plus du langage (comme SQL est universel...)

    Je vais voir sur les cours SQL pour le INTO....

    merci

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    166
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 166
    Par défaut
    Vous avez pas d'idée pour remplacer le INTO....

  9. #9
    Modérateur
    Avatar de Rayek
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    5 236
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    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 236
    Par défaut
    Citation Envoyé par Bejaia-In
    Il y a une erreur dans ta requette, le mot cle INTO ne s'utilise pas avec la commande SELECT.
    Si si l'utilisation de Into est tout à fait possible avec un Select.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    WITH DataModule1.QArbo DO
    BEGIN
    SQL.Clear;
    SQL.Add('SELECT * INTO "' +Nom_Arbo +'.db" FROM Arbo');
    ExecSQL;
    END;
    end;
    Tu as mis trop de ' , teste comme j'ai corrigé plus haut
    Modérateur Delphi

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/05/2014, 21h25
  2. [11g] Empêcher un insert dans une table par un Trigger
    Par cmako dans le forum PL/SQL
    Réponses: 19
    Dernier message: 16/10/2013, 15h42
  3. [AC-2003] Copie de table par DAO
    Par Stef999 dans le forum VBA Access
    Réponses: 5
    Dernier message: 13/07/2012, 20h18
  4. [LG]Tri par insertion dans une liste chainée
    Par mister_dsg dans le forum Langage
    Réponses: 4
    Dernier message: 18/12/2003, 22h34
  5. MAJ d'une table sous SQL Server par insertion
    Par keish dans le forum Langage SQL
    Réponses: 6
    Dernier message: 11/06/2003, 16h23

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