Pb avec le comoposant TBatchMove

cs_apz Messages postés 281 Date d'inscription dimanche 7 avril 2002 Statut Membre Dernière intervention 11 avril 2013 - 7 mai 2002 à 22:53
cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 - 8 mai 2002 à 03:37
j'ai utiliser le code suivant pour exporter des donnees d'une table1 vers table2 :

procedure TForm1.Button1Click(Sender: TObject);
begin
With BatchMove1 do
begin
Source := table1;
destination := table2;
mode := batCopy;
Execute;
ShowMessage(IntToStr(MovedCount) + ' enregistrements copiés');
end;
end;

mais j'aimerais bien avoir des reponses a ceci :
Comment faire pour :
1- renomer des champs pendant ou apres l'exportation des donnees ?
2- definir le(s) index de Tables2 ? (parce que tbatchmove n'accomplie pas cette tache).

1 réponse

cs_Nono40 Messages postés 962 Date d'inscription mercredi 3 avril 2002 Statut Membre Dernière intervention 12 septembre 2006 2
8 mai 2002 à 03:37
Question 1 :
Renommer les champs n'est pas facile par programmation avec les tables paradox.
Il faut ajouter un champ par requète :
ALTER TABLE "MaTable.db" ADD NouveauNom CHAR(25)
Puis copier les données par une autre requète
UPDATE "MaTable.db" SET NouveauNom=AncienNom
Enfin supprimer l'ancien :
ALTER TABLE "MaTable.db" DROP AncienNom
Si un index primaire existait sur la colonne, alors il est supprimé. Il est donc préférable de le faire avant la création des index.

Mais s'il ne s'agit que d'une manipulation temporaire, utilise le "module bases de données" pour changer le nom de la colonne, c'est beaucoup plus rapide.

Question 2 :
Utilise TTable.AddIndex() pour ajouter un index sur une table existante.

--- :sleepy) Nono du Moulin :sleepy) ---
0
Rejoignez-nous