Dupliquer une table de base de données

altozinzin Messages postés 54 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 6 mai 2011 - 15 août 2010 à 00:35
altozinzin Messages postés 54 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 6 mai 2011 - 20 août 2010 à 09:47
Salut à tous!

Je possède une base de donnée, dont l'une des tables s'appelle Client.

C'est en fait un modèle (entendait par la qu'elle contient des paramètres précis de colonnes) que je souhaiterais dupliquer et renommer.

Ou alors est-ce plus simple de créer via lignes de codes une nouvelle table avec mes différentes colonnes paramétrées?

J'espère avoir été clair.

Merci d'avance.

6 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
15 août 2010 à 18:15
Bonjour

je vois 2 possibilités

1- utilise un SqlDataReader que tu aurras rempli avec ".ExecuteReader( CommandBehavior.SchemaOnly);"
là tu aurras le schema de ta table, mais il faudra que tu généres la commande SQL de création,
je ne pense pas qu'il existe un methode toute faite pour ça

2- Via SQL, (à voir si c'est supporté par tous les moteurs)
en SQL serverur execute une commande SELECT ... INTO
ex : SELECT Client.* INTO NewClient FROM Client WHERE (mets-ici-une-condition-toujours-fausse-pour-avoir-une-table-vide)

Dans les 2 cas, il te faudra positionner les clefs et les contraintes.

Bon code.
C# is amazing, enjoy it!
0
altozinzin Messages postés 54 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 6 mai 2011
16 août 2010 à 14:15
Merci.
Cela ne m'a pas l'air simple, mais je vais voir ce que je peux faire. Merci encore.
0
yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 8
17 août 2010 à 01:31
salut les DataTable dispose des extension Copy() et Clone();

Clone: Clone la structure de DataTable, y compris tous les schémas et contraintes DataTable.

Copy: Copie à la fois la structure et les données de ce DataTable.

DataTable originale = (table originale);
DataTable TableCopie = originale.Copy();
TableCopie.TableName = "nouvelle table";
0
cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
19 août 2010 à 06:27
Salut Yohan

OK, mais comment fais-tu pour inscrire cette nouvelle table dans la base de donnée ?

Bob
C# is amazing, enjoy it!
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yohan49 Messages postés 380 Date d'inscription samedi 22 janvier 2005 Statut Membre Dernière intervention 13 août 2011 8
19 août 2010 à 22:42
c'est vrai robert , cette solution marche uniquement sur un dataset serialisé . via cette methode on peut ajouter la nouvelle table dans un dataset , mais sur le Dataset.Update() vers sql, y'aura une execption
0
altozinzin Messages postés 54 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 6 mai 2011
20 août 2010 à 09:47
Merci quand même pour vos réponses.

J'ai trouver une solution un peu brouillonne mais bon...

Au lieu de créer un fichier pour chaque client, à chaque fois qu'un client enregistre qqchose dans SQL, j'y associe son pseudo pour pouvoir filtrer quand nécessaire.
0
Rejoignez-nous