Récupérer les donnéees d'un dataset pour remplir une table

feuillou Messages postés 48 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 6 juillet 2007 - 14 avril 2004 à 17:04
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 - 19 avril 2004 à 11:55
Bonjour,
je débute sur Visual Studio et depuis un mois je n'arrive pas a résoudre un probleme... Je rempli un dataset a l'aide d'une table paradox (.db). Cette table se trouve dans un fichier de mon disque dur (et pas dans une base de données). Il faut ensuite que je rajoute les lignes de ce dataset dans une table de ma base de données SQL. Et je ne sais pas comment je dois procéder pour récupérer les données de mon dataset? Si quelqu'un pouvait m'aider, ce serait super aimable. Amicalement

Feuillou

8 réponses

Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
15 avril 2004 à 11:04
oui je pensais a ca ...
mais non je ne sais pas si tu peux le lancer a partir de visual studio, par contre tu peux les planifier sous SQL...
et ca marche bien comme importateur...
maintenant si tu dois absolument le faire sous C# a part se palucher tout les insert a la main en parcourant ton dataset je vois pas comment faire ...

Arthenius
1
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
15 avril 2004 à 12:35
alors pour lire une ligne d'un data set (par exemple) :

DataRow ligne = null ;
int i = 0;
int nb_ligne_total ;
nb_ligne_total = dataSetparadox.Tables["NOM_DE_LA_TABLE"].Rows.Count ;

for(i=0;i<=nb_ligne_total;i++)
{
ligne = dataSetparadox.Tables["NOM_DE_LA_TABLE"].Rows[i];
}


et dans l'idee tu pourrai faire un 2eme dataset qui pointe sur ta table SQL...
en vérifiant que les commandes insert, update,..., delete du sqldataadapter sont bien correct (normalement oui si tu a utiliser le glisser deplacer de la table avec l'explorateur serveur sauf pour le select qu'il faudra peut etre definir)

et faire un truc du genre :

DataRow ligne = null ;
DataRow ligneSQL = null ;
int i = 0;
int nb_ligne_total ;

nb_ligne_total = dataSet11.Tables["NOM_DE_LA_TABLE"].Rows.Count ;

for(i=0;i<=nb_ligne_total;i++)
{
ligne = dataSetparadox.Tables["NOM_DE_LA_TABLE"].Rows[i];
                ligneSQL = dataSetSQL.Tables["NOM_DE_LA_TABLE_SOUS_SQL"].NewRow();
ligneSQL["Colonne1_sousSQL"] = ligne["colonne1_sousparadox"];
ligneSQL["Colonne2_sousSQL"] = ligne["colonne2_sousparadox"];
ligneSQL["Colonne3_sousSQL"] = ligne["colonne3_sousparadox"];
ligneSQL["Colonne4_sousSQL"] = ligne["colonne4_sousparadox"];
.....
ligneSQL["Colonne300_sousSQL"] = ligne["colonne300_sousparadox"];

dataSetSQL.Tables["NOM_DE_LA_TABLE_SOUS_SQL"].Rows.Add(ligneSQL);

}
dataSetSQL.Update();


je ne sais pas si ca marche j'ai pas tester mais ca devrait peut etre ressembler à quelque chose comme ca....

c une piste quoi... :)

Arthenius
1
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
15 avril 2004 à 10:09
tu ne prefere pas utiliser les outils de SQL pour importer des données ???

Arthenius
0
feuillou Messages postés 48 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 6 juillet 2007 1
15 avril 2004 à 10:43
Salut,
si pour les outils SQL tu parles du DTS, pourquoi pas? Mais je n'ai aucune idéee de comment on s'en sert a partir de Visual studio! Cela n'a pas l'air trop dur a partir de SQL 2000 V7.0 (apparement il y a un assistant importation de données) mais je n'ai pas trouvé comment faire a partir de Visual... T'as une idée? Merci
Feuillou
0

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

Posez votre question
feuillou Messages postés 48 Date d'inscription mercredi 31 mars 2004 Statut Membre Dernière intervention 6 juillet 2007 1
15 avril 2004 à 11:51
Ok merci, on est bien d'accord. Je me sens pas assez costaud en SQL pour planifier cela... Mais l'idéee du dataset est peut etre pas tres evolué techniquement, mais elle me plait bien! J' aimerais en effet faire un insert de chaque ligne de mon dataset vers ma BdD grace a une boucle incrémentée qui lit chaque ligne. Mais je sais pas trop comment faire : 1-pour lire une ligne d'un dataset
2- pour programmer l'insertion (en passant par un SQLcommand, un sqldataAdaptater, une procédure stockée...?)
En bref je sais pas trop comment m'y prendre. En tous cas, je te remercie pour ton aide, c'est vraiment sympa... Hésites pas si t'as encore des idées.
Feuillou
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
15 avril 2004 à 12:39
Tiens moi au courant...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
16 avril 2004 à 09:57
Alors effectivement la methode du dessus marche.
il faut bien faire attention a ne pas faire une ligneSQL = ligneParadox, sinon on aura une erreur, il faut bien assigner chaque valeur de colonne de la table paradox a chaque colonne dans SQL...

voilou...

et on peut faire ca pour faire un import de n'importe qu'elle base vers n'importe qu'elle autre...(du moment qu'on arrive a remplir les datasets)...et pourquoi pas a partir de fichier....
bref ca peut faire un bon outil d'import de données...

:big)

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Arthenius Messages postés 1182 Date d'inscription mercredi 21 janvier 2004 Statut Membre Dernière intervention 6 septembre 2011 14
19 avril 2004 à 11:55
et le source de feuillou :

http://www.csharpfr.com/code.aspx?ID=22002

pour terminer tout ca...

Arthenius

"Ce qui ne me tue pas, me rend plus fort..."
0
Rejoignez-nous