Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1933 connectés 

 


Dernière réponse
Sujet : [ASP] comment savoir que je suis au dernier élement d'un rs ?
wouatouwouatou pour le premier element... c rs.BOF.. c comme EOF mais pour le premier element...
 
C comme si c t un element indicé -1, en considerant que le premier element de ton rs est indicé 0.... enfin, tu vois koi :D
 
Pi en asp, ya movefirst() je crois ou un truc comme ca... ki te positionne sur le premier element s'il y en a un...
 
Mais pour ton pb d'ecrire une chaine de caractere suivi d'un caractere special... ben... 2 choix corrects:
Soit tu traite le premier element a part.. pi le reste dans une boucle.
Soit tu fais ton truc normalement... pi tu tronque le dernier caractere... c a toi de voir...
Mais la premiere solution est mieux a mon gout. :D
 
P.S: Pour tester sil y a un element dans le rs tu fais  
If rs.BOF AND rs.EOF Then pas d'element...

 

[edtdd]--Message édité par wouatouwouatou--[/edtdd]


Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
wouatouwouatou pour le premier element... c rs.BOF.. c comme EOF mais pour le premier element...
 
C comme si c t un element indicé -1, en considerant que le premier element de ton rs est indicé 0.... enfin, tu vois koi :D
 
Pi en asp, ya movefirst() je crois ou un truc comme ca... ki te positionne sur le premier element s'il y en a un...
 
Mais pour ton pb d'ecrire une chaine de caractere suivi d'un caractere special... ben... 2 choix corrects:
Soit tu traite le premier element a part.. pi le reste dans une boucle.
Soit tu fais ton truc normalement... pi tu tronque le dernier caractere... c a toi de voir...
Mais la premiere solution est mieux a mon gout. :D
 
P.S: Pour tester sil y a un element dans le rs tu fais  
If rs.BOF AND rs.EOF Then pas d'element...

 

[edtdd]--Message édité par wouatouwouatou--[/edtdd]

Mikvix arf !  :p
duch

mikvix a écrit a écrit :

tu peux faire un truc dans ce genre :
 
if not rs.EOF then
 response.write(rs.Fields.Item("maValeur" ).Value)  
 rs.MoveNext()
 While (NOT rs.EOF)  
  response.write(","&rs.Fields.Item("maValeur" ).Value)  
  rs.MoveNext()  
 Wend
end if
 
ça évite de faire de test en plus dans la boucle ...  
 
 




 
euh là j'comprends pas, si je li bien tu écris maValeur dans tous les cas...
 
ah non j'avais pas vu que le if se fermait tout à la fin, oui c'est bien comme truc :D

 

[edtdd]--Message édité par duch--[/edtdd]

Mikvix ouaip !!
en fait je viens d'éditer mon message 3 fois de suite, tellement c'était plein d'erreur :)
JWhy ah oui, c'est bien ca...  
 
par contre t'as merdé dans l'ajout des ", " mais c'est bien quand meme ! pas de de test pas d'index... j'achete ;)
Mikvix tu peux faire un truc dans ce genre :
 
if not rs.EOF then
 response.write(rs.Fields.Item("maValeur" ).Value)  
 rs.MoveNext()
 While (NOT rs.EOF)  
  response.write(","&rs.Fields.Item("maValeur" ).Value)  
  rs.MoveNext()  
 Wend
end if
 
ça évite de faire de test en plus dans la boucle ...

 

[edtdd]--Message édité par mikvix--[/edtdd]

JWhy bah sinon tu fais un index que tu incrementes et que tu testes si c'est egale a 1 :
 
iIndex = 0
While (NOT rs.EOF)  
  iIndex = iIndex + 1
 
  if iIndex = 1 then
    response.write(rs.Fields.Item("maValeur" ).Value)  
  else
    response.write(", " & rs.Fields.Item("maValeur" ).Value)  
  rs.MoveNext()  
Wend  
 
mais ca te rajoute un increment + un test  dans  ta boucle ...
duch j'avais pensé à ça aussi, mais j'avais pas envie de passer par une chaine tampon, qui risuqe d'être très longue
JWhy generalement ce que je vais (en delphi mais ca doit etre pareil en ASP), c'est (et la j'essaye de traduire du  Delphi en VB ;) ):

Code :
  1. ---------------------------------------------------------
  2. Dim sResponse as String
  3. sResponse = ""
  4. While (NOT rs.EOF)
  5.   ' là j'écrit un truc
  6.   sResponse = sResponse + rs.Fields.Item("maValeur" ).Value + ", "
  7.   rs.MoveNext()
  8. Wend
  9. ' si y'a qqchose dans ma reponse, je vire les 2 derniers caracteres (puisqu'ils seront egaux a ", " )
  10. if sResponse <> "" then
  11.   sResponse = Left(sResponse, length(sResponse) - 2 )
  12. ' je renvoie le resultat
  13. response.write(sResponse)
  14. ---------------------------------------------------------


ps: je connais pas ASP donc j'espere que tu t'y retrouveras

 

[edtdd]--Message édité par JWhy--[/edtdd]

duch et comment tu sais que tu es au premier :D
 
y'a un tableau, un truc comme ça?
duch je parcours un rs de la façon suivante :  
 
While (NOT rs.EOF)
' là j'écrit un truc
response.write(rs.Fields.Item("maValeur" ).Value&"," )
rs.MoveNext()
Wend
 
enfin le truc classique quoi, sauf que je ne veux pas écrire de "," qd je suis au dernier enregistrement, comment faire ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)