help soutenance mercredi c'est possible de declarer plusieurs .. [asp] - ASP - Programmation
Marsh Posté le 16-06-2003 à 16:56:25
C'est fonction de la requete.. que tu veux faire.. soit plus explicite s'il te plait.. quand meme
Marsh Posté le 16-06-2003 à 17:09:52
je vois pas pkoi ça serait pas possible, m'enfin vaut mieux préciser qd mm 
Marsh Posté le 16-06-2003 à 17:12:49
des recordset imbriqués, aucun problème  ![[:spamafote] [:spamafote]](https://forum-images.hardware.fr/images/perso/spamafote.gif) 
 
Marsh Posté le 16-06-2003 à 17:31:11
j'ai un formulaire "num" qui permet de lire dans deux tables (clients et adresse de livraison)reliées par une relation de 1 a plusieurs 
donc  
un rs qui affiche les infos clients (1 requete) 
un rs qui affiche les infos livraisons (2eme requete) 
mais quand il y a une seule adresse livraison ca passe 
quand il ya plusieurs adr livraisons par clients ca mouline 
c'est pour ca que je me demande si plusieurs recordsets c'est possible ? 
 
ps: avec une requete avec jointure portant sur les 2 tables ca fonctionne mais il affiche plusieurs fois les infos clients 
ex  
infos clients 
adresse 1 
infos clients(les memes) 
adresse 2 
etc
Marsh Posté le 16-06-2003 à 17:36:29
as-tu bien boucler ton recordset? 
 
recordset.MoveFirst 
[blabla 
recordset.MoveNext] 
 
  
 
Marsh Posté le 16-06-2003 à 17:51:38
Aucun problème. 
 
Fait bien attention par contre à : 
 
1) Dans un "do while not rs.EOF" pense toujours à mettre un rs.movenext, sinon, proutch  
 
 
2) Ne fait jamais de "dim" ni de "set rs = nothing" dans une boucle, sinon tu va planter. 
 
3) Si possible, dans une boucle, ne recréée pas le rs, mais ferme-lui puis réouvre-le : 
 
dim cnx 
set cnx = server.createobject("ADODB.Connection" ) 
cnx.open cnx_string 
dim rs 
set rs = server.createobject("ADODB.RecordSet" ) 
set rs.ActiveConnection = cnx 
 
rs.open "select * from client where id = 1" 
 
dim rs2 
set rs2 = server.createobject("ADODB.RecordSet" ) 
set rs2.ActiveConnection = cnx 
i = 0 
do while not rs.EOF 
   i = i + 1 
   rs2.open "select * from adresse where client_id = " & rs("id" ) and numadr = " & i 
   response.write rs2("rue" ) 
   rs2.close 
   rs.movenext 
loop 
set rs2 = nothing 
rs.close 
set rs = nothing 
 
 
PS: Cet exemple est tout pourri tout crade, mais c'est tout ce que j'ai trouvé comme exemple  
 
 
PS²: Par contre, je ne comprends pas pkoi tu fait pas une requête qui te retourne toutes les lignes d'adresses plutôt que x requêtes 
Marsh Posté le 16-06-2003 à 17:52:46
c'est exactement ce que je suis en train de chercher (lol) 
je ne pense pas avoir bouclé mon deuxieme recordset car je l'ai séparé et mis dans une page a part et ca mouline !!! 
 
 
merci de ta patience ... 
Marsh Posté le 16-06-2003 à 17:58:20
| MagicBuzz a écrit : Aucun problème.  | 
 
genre  
SQL = "SELECT * FROM client INNER JOIN adrliv ON client.num_client = adrliv.num_client WHERE client.num_client = " & num 
mais le probleme c'est que ca me retourne toutes les infos clients puis les infos livraisons autant de fois qu'il ya d'adresse de livraisons 
et je meretrouve avec un amxi tableau genre 
 
nom  
prenom 
adresse 
tel 
adrliv1 
nom  
prenom 
adresse 
tel 
adrliv2 
etc .... 
pour le bien faudrait qu'il me retourne une fois les infos clients et autant de fois que necessaires les infos livraisons 
d'ou l'interet de deux requetes 
 
 
ps : merci ! 
la prog au cnam c'est dur  
le prof te donne une requete sql ezt un exemple de page asp 
sans t'expliquer la syntaxe et te bombardes sur un projet asp 
dans lequel il faut gerer un tas de trucs 
un qui reve et dix rament 
Marsh Posté le 16-06-2003 à 18:22:22
| PEPITO D'ARGENT a écrit :   | 
 
 
fait un select distinct, non ?
Marsh Posté le 16-06-2003 à 18:36:59
distinct ne me renvoie que les champs clients que je précise aprés distinct et pas les champs adresses de livraisons  
Marsh Posté le 16-06-2003 à 18:54:51
suivant vos conseils j'ai réussi obtenir ce que je voulais ! 
maintenant j'aimerais incrementé les adresses de livraisons 
c'est a dire premiere adresse 
infos livraison 1 
 
deuxieme adresse  
infos livraisons 2 
 
 
etc .... 
merci je cherche aussi de mon coté ! 
 
Marsh Posté le 16-06-2003 à 19:46:51
j'ai trouvé mais une question se pose : 
pour ecrire la valeur de ma variable puis-je faire autrement que 
<%response.write""&X%> ?
Marsh Posté le 16-06-2003 à 20:02:02
<%= variable %>
Marsh Posté le 16-06-2003 à 21:06:19
Soit : 
 
<% 
... 
response.write la_variable 
... 
%> 
 
Soit comme l'a dit la soeur de la belle Belldandy, 
 
<%=la_variable%> 
 
Mais sinon, je comprends toujours pas pourquoi tu veux faire 36 requêtes  
 
 
Avec deux ça suffit, quelque soit le nombre d'adresses 
Marsh Posté le 17-06-2003 à 11:53:25
je n'en ai fait que deux mais peut etre n'ai-je le pas été assez clair dans mon enoncé ?   
  
quoiqu'il en soit ca marche ! 
j'arrive à afficher mes valeurs  
 
me reste un tout pitit probleme a regler ! 
j'ai un numero d'identifiant a conserver durant  toute la durée de la "session" (je ne sais pas si le terme est exact) 
pour pouvoir le reutiliser sans le redemander au client 
 
pour faire simpl, faut-il faire un cookie ou passer par l'objet session ? 
Marsh Posté le 17-06-2003 à 12:20:29
personnellement j'utilise des variables session
Marsh Posté le 17-06-2003 à 20:37:27
Les variables de session sont bien plus pratique en effet. 
 
Par contre, elles ont deux inconvénients : 
 
Le premier, comme pour les cookies, et pour cette même raison, on est invité à stocker un minimum de choses dans ces variables, c'est que les variables de sessions peuvent se perdre toutes seules, ou se retrouver écrasées par une autre page, et si on n'a pas tout prévu à l'avance, on a parfois de belles surprises. 
 
Le second, c'est que niveau ressources, c'est assez consomateur. Là, tu verras pas de différence, puisque par défaut elles sont activées, et c'est juste l'activation qui ralentis tout. 
Mon site a gagné près de 80% de vitesse lorsque j'ai viré le support des sessions. Donc il vaut mieu les utiliser seulement quand c'est vraiment nécessaire et qu'un cookie n'est pas assez sécurisé.
Marsh Posté le 16-06-2003 à 16:44:13
recordsets (qui vont chercher des données dans des tables differentes d'une meme base)dans une meme page asp ?
quel est la methode ?