[asp] help soutenance mercredi c'est possible de declarer plusieurs ..

help soutenance mercredi c'est possible de declarer plusieurs .. [asp] - ASP - Programmation

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 ?

Reply

Marsh Posté le 16-06-2003 à 16:44:13   

Reply

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

Reply

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 :)

Reply

Marsh Posté le 16-06-2003 à 17:12:49    

des recordset imbriqués, aucun problème  [:spamafote]


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

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

Reply

Marsh Posté le 16-06-2003 à 17:36:29    

as-tu bien boucler ton recordset?
 
recordset.MoveFirst
[blabla
recordset.MoveNext]
 
 :??:


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

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 :D
 
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 :??:


Message édité par MagicBuzz le 16-06-2003 à 17:53:00
Reply

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 ... :jap:


Message édité par PEPITO D'ARGENT le 16-06-2003 à 17:53:05
Reply

Marsh Posté le 16-06-2003 à 17:58:20    

MagicBuzz a écrit :

Aucun problème.
 
Fait bien attention par contre à :
 
1) Dans un "do while not rs.EOF" pense toujours à mettre un rs.movenext, sinon, proutch :D
 
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 :??:


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


Message édité par PEPITO D'ARGENT le 16-06-2003 à 18:03:05
Reply

Marsh Posté le 16-06-2003 à 18:22:22    

PEPITO D'ARGENT a écrit :


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 livraisonset je meretrouve avec un amxi tableau genre
 


 
fait un select distinct, non ?

Reply

Marsh Posté le 16-06-2003 à 18:22:22   

Reply

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  :pt1cable:


Message édité par PEPITO D'ARGENT le 16-06-2003 à 18:38:14
Reply

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é !
 

Reply

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%> ?


Message édité par PEPITO D'ARGENT le 16-06-2003 à 19:47:30
Reply

Marsh Posté le 16-06-2003 à 20:02:02    

<%= variable %>


Message édité par urd-sama le 16-06-2003 à 20:02:09

---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

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 :??:

Reply

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é ?  :pt1cable:  
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 ?

Reply

Marsh Posté le 17-06-2003 à 12:20:29    

personnellement j'utilise des variables session


---------------
.: Clône de Drasche .:. Ebichuleys .:. Avec l'Aloe Vera je fais de beaux cacas [:dawa] .: www.oserselancer.com :.
Reply

Marsh Posté le 17-06-2003 à 13:34:55    

effectivement ca a l'ar plus simple  
je m'y atelle !

Reply

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é.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed