Probleme importation donneés fichier a une bd via vb.net

pradoxil Messages postés 27 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 29 mai 2006 - 29 avril 2006 à 23:15
pradoxil Messages postés 27 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 29 mai 2006 - 1 mai 2006 à 00:02
salut tous le monde !

aider mois svp !  

j'ai un probleme dans mon application de stage
je doit  importer des donneés d' un fichier texte vers une base de données acces (le code est  vb.net)
le probleme c'est  que l'mportation marche bien mais elle importe une seul ligne de fichier  a la table de la base de données(la première ligne)
voila le code :

 

Dim monStreamReader
As
New StreamReader("C:\essai.txt")

Dim ligne, nom, prenom, age,MyTab()   
As
Stringligne = monStreamReader.ReadLine

Dim insertion_FIN
As OleDbTransaction 

MyTab = Split(ligne, "|")

Do
Until  ligne =nothingligne = monStreamReader.ReadLine

 nom= MyTab(0)

prenom= MyTab(1)

age= MyTab(2)

myconn.Open()
mycomm.CommandText = "insert into personnes(nom,prenom,age) values ('" & nom & "' ,'" & prenom & "','" & age &  "')"

mycomm.Transaction = insertion_FIN

mycomm.ExecuteNonQuery()

ligne = monStreamReader.ReadLine

 

LoopmonStreamReader.Close()

*****************************le fichier texte essai.txt***************************************
Nom1|Prenom1|Age1
Nom2|Prenom2|Age2

j'attend  vous reponses  mes amis !!

10 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 avril 2006 à 00:25
Salut,
Si tu essayés plutôt ta boucle de cette manière ?












While
monStreamReader.EndOfStream =



False
   
   nom= MyTab(0)
   prenom= MyTab(1)
   age= MyTab(2)

   myconn.Open()
   mycomm.CommandText = "insert into personnes(nom,prenom,age) values ('" & nom & "' ,'" & prenom & "','" & age &  "')"
   
   mycomm.Transaction = insertion_FIN
   mycomm.ExecuteNonQuery()









End




While
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 avril 2006 à 00:27
Aussi le myconn.Open()  met le avant d'entrer dans la boucle l'erreur peut également venir de la si tu ouvres la connexion à chaque itération.
0
pradoxil Messages postés 27 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 29 mai 2006
30 avril 2006 à 01:01
il me soulinge sur

While monStreamReader.EndOfStream =
False

l'objet  monStreamReader.   ne contient pas EndOfStream
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 avril 2006 à 02:04
Oui cette propriété est une nouveauté du framework 2.0
Remplace par ceci par la méthode Peek exemple ci-dessous.

While monStreamReader.Peek() >= 0
......
End While
0

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

Posez votre question
pradoxil Messages postés 27 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 29 mai 2006
30 avril 2006 à 02:19
toujours le meme probleme mon ami il insere une seul ligne
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 avril 2006 à 09:24
Fait le tourner en mode debug tu verras mieux comment sa se passe.
Quelle est la valeur de 'ligne' quand tu rentres pour la 1ière fois ?
As-tu une erreur quelque part ?
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
30 avril 2006 à 21:01
Un truc m'étonne :

Dans le premier code, le split de la ligne est en dehors de la boucle...

A+

Alain 31
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
30 avril 2006 à 21:21
Lol, c'est clair asecher, c'est sa le problème, il split qu'une fois alors il ne fait l'enregistrement de la même ligne à chaque itération.
Mais comment j'ai pu passé à côté....
0
pradoxil Messages postés 27 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 29 mai 2006
30 avril 2006 à 23:59
oui j'ai courigé l'erreu et j'ai fait la split dans la boucle mais il me donne un autre probleme  dans 

mycomm.ExecuteNonQuery()


 
0
pradoxil Messages postés 27 Date d'inscription samedi 10 décembre 2005 Statut Membre Dernière intervention 29 mai 2006
1 mai 2006 à 00:02
j'ai ajouter aussi des msgbox pour tester les split et ils marche bien il affiche chaque split
mais comme j'ai dit il y a encore une erreur dans mycomm.ExecuteNonQuery()
il insert une seul fois puis le debogage
0
Rejoignez-nous