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