Delphi (copier des tables) - Delphi/Pascal - Programmation
Marsh Posté le 14-10-2004 à 11:46:41
Une solution est d'utiliser un TADOQuery et de faire un truc genre :
SELECT * FROM LaTable WHERE 0 = 1
ça te retournera un truc vide, mais t'as quand même accès aux champs
Marsh Posté le 15-10-2004 à 17:11:11
ok c ce a quoi javais pense mais je trouvais ca un peu sale...
Marsh Posté le 15-10-2004 à 17:32:46
jai encore 2 questions :
- si je veux changer le type dun champ il a ya moyen de le faire de delphi ou il faut y aller a coup de requete SQL????
- DataSize renvoie parfois zero parfois renvoie une valeur erronée, ca change selon
Code :
|
faut absolument switcher entre les 2 tout le temps?
Marsh Posté le 15-10-2004 à 18:25:22
red faction a écrit : ok c ce a quoi javais pense mais je trouvais ca un peu sale... |
Bah c'est nettement plus propre que d'ouvrir la table, vu que l'ouverture de la table va lire toutes les données qui sont dedans
Marsh Posté le 10-11-2004 à 16:56:58
pour eviter de recreer un topic pour rien
je voudrais copier plusieurs tables d'une database a lautre en utilisant ADO sous delphi.
je doit generer du sql puis lenvoyer au serveur (create table 'test' (xxx varchar ...) et reinserer les données a chaque fois ou il y a une methode plus appropriée (en utilisant directement l'api par exemple)?
Marsh Posté le 10-11-2004 à 21:36:40
Ça dépend des SGBD...
A priori la recréation de la table et le remplissage c'est ce qu'il y a de plus simple/standard je pense.
Marsh Posté le 10-11-2004 à 21:49:46
Je pars d'un fichier sauvé grace a la methode saveToFile dun objet TADOQuery (donc chaque table se retrouve dans un fichier) ... peut etre quil existe une facon dexporter une database?
par la suite jaimerai reecree c tables vers une base de données MsAccess/sql server sans avoir a creer des commandes sql puis faire des execute a chaque fois, mm chose pour changer le type dun champ (je doit comparer deux database en fait)
Marsh Posté le 10-11-2004 à 22:55:32
Je savais même pas qu'il y avait un SaveToFile pour les query
Marsh Posté le 13-10-2004 à 17:11:56
voir en bas
la seule facon que jai trouver pour le moment c de faire
existe til une methode qui permet de faire ca mais d'un seul coup pour toute la bd et non pas table par table ?( comme ADOconnection.GetFieldNames)
jviens de verifier, ca prend surtout du temps pour les tables ou il y a beaucoup de record donc le open va chercher toutes ces infos et c cela qui prend du temps (alors que je nai besoin que de la structure)
Message édité par red faction le 11-11-2004 à 12:15:54