JScript/Boucle [Résolu]

Signaler
Messages postés
95
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
24 mars 2008
-
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
-
Voila je voudrai faire un insert dans une table a partir d'un fichier txt

le problème qu j'ai est dans la boucle qu j'utilise elle me renvoi le numéro mais pas la valeur de la donnés exemple 0,1,2,3,4,5,6
ci dessous la partie du code qui pose probléme  je vous de m'aider c'est urgent

var rs = new ActiveXObject("ADODB.Recordset"); 
while (!ts.AtEndOfStream) {
   strFil += ts.ReadLine() + NewLine;  //C'est pour lire  les lignes qui sont dans le fichier .txt
}  
  var ele  =strFil.split("
");  // C'est pour mettre les donnés du ficher .txt dans une variable et éliminer le signe <?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

for ( var s  in ele) {  
      result=conn.Execute("INSERT INTO help VALUES ('"+ s+"')");
       Response.Write(s); //Ca me retourne 01234567 et non la valeur des donnés  est la le probléme
  }
  
  ts.Close();
conn.Close();
v = null;
conn = null;

7 réponses

Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




si j'ai bien compris le prob, pourquoi ne pas faire :

var ele =new Array();
while(!ts.atEndOfStream)
    {
    ele.push(ts.readLine();
    }

puis ensuite, comme indiqué par Bul.

ou encore mieux :

while(!ts.atEndOfStream)
    {
    conn.Execute("INSERT INTO help VALUES ('"+ ts.readLine() +"')");   
    }

Cordialement
Roro webDev
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,

for ( var s=0;s<ele.length;s++ )
{
    gérer ele[s]
}  

peut-être ?
mais ce serait bien d'avoir le contenu de strFil !

<hr />                                Cordialement             Bul         [mon Site]     [M'écrire]<hr />
Messages postés
95
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
24 mars 2008

C'est un fichier .txt qui contient les lignes suivantes:
bonjour
bonsoir
merci
-------------
quand je lie ces donnés avec
while (!ts.AtEndOfStream) {
   strFil += ts.ReadLine() + NewLine; 
}  

il me renvoi
bonjour
bonsoir
merci
-------------mais quand je les insert on mettant ma requête dans la boucle il me les insert  sous le format ci-dessous<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" /??>

------------------------------------

bonjour

bonjour
bonsoir

bonjour
bonsoir
merci

----------------------------------------------
while (!ts.AtEndOfStream) {
   strFil += ts.ReadLine() + NewLine;  
  result=conn.Execute("INSERT INTO help VALUES ('"+ strFil +"')");
}
  
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
    ° c'est quoi NewLine ?
    ° on peut lire tout le fichier en une seule instruction ( ts.ReadAll(); )
    ° tu es sûr de la syntaxe du INSERT TO ? il ne faut pas des ' qui entourent
          les données par exemple ?



<hr />                    Cordialement            Bul         [mon Site]     [M'écrire]<hr />
Messages postés
95
Date d'inscription
mercredi 26 octobre 2005
Statut
Membre
Dernière intervention
24 mars 2008

J'ai utilisé la deuxième solution et ça marche au Top
Merci infiniment et bonne journée
Messages postés
732
Date d'inscription
jeudi 2 janvier 2003
Statut
Membre
Dernière intervention
29 octobre 2007

Bonjour




NewLine, a priori, c'est un "retour chariot" (je ne connaissais pas !!). Pour la syntaxe du insert : les ' y sont ('faut de bonnnes loupes, je te l'accorde). 2 possibilités pour la syntaxe :

insert into table values ('blabla1', 'blabla2', )   

ou alors, pour etre plus précis :

insert into table (champs1, champs2, champs3) values (valeur1, valeur2, valeur3)

les côtes sont indispensables pour les champs texte, alpha, etc... Pas pour les valeurs numériques (encore que ça doit dépendre du SGBD)

Cordialement
Roro webDev
Messages postés
13616
Date d'inscription
jeudi 13 février 2003
Statut
Membre
Dernière intervention
15 octobre 2013
33
Bonjour,
    bien joué Roro, je n'avais pas compris
       où il fallait en venir... ta 2ème solution éclaire la finalité.
<hr />                                Cordialement                Bul         [mon Site]     [M'écrire]<hr />