Faire 2 requetes SQL dans la même page ASP [ASP] - Programmation
Marsh Posté le 03-07-2002 à 16:04:05
tu peux faire autant de recordset que tu veux dans ton script.
ton erreur viendrait pas de & _ , mets tt sur une seule ligne pour voir si c pas ca
Marsh Posté le 03-07-2002 à 16:04:58
il manque un espace entre photos et WHERE .
Voila
Marsh Posté le 03-07-2002 à 16:06:00
Quand tu as des erreurs comme ca, fais un Response.write de ta requete juste avant de l'ouvrir.
Marsh Posté le 04-07-2002 à 09:11:49
J'ai rajouté un espace, je ne sais pas si c'est la qu'il fallait le mettre :
'-- Création du recordset photos
leSQL2 = "SELECT * FROM evenements, photos " & _
"WHERE Numero_Evenement = Nb AND Numero_Evenement = Numero_Ev"
Set rstphotos = server.CreateObject("ADODB.Recordset" )
rstphotos.Open leSQL2, conbdevenements
Mais dans tous les cas, ça me met une autre erreur :
Aucune valeur donnée pour un ou plusieurs des paramètres requis.
Marsh Posté le 04-07-2002 à 11:53:49
Je pense ke ds ta requete tu confonds différentes valeurs :
==> Numero_Evenement = Nb
==> Numero_Evenement = Numero_Ev
J'imagine que Nb et Numero_Ev sont des variables ASP, cad soit des chiffres que tu as rentré à la main (Form ou autre) soit des resultantes de ton premier recordset rstevenements. Si c le cas, ta syntaxe est mauvaise, tu dois mettre :
1er cas : "SELECT * FROM evenements, photos WHERE Numero_Evenement = " & Nb & " AND Numero_Evenement = " & Numero_Ev & " ORDER BY xxx"
2eme Cas : "SELECT * FROM evenements, photos WHERE Numero_Evenement = " & rstevenements("Nb" ) & " AND Numero_Evenement = " & rstevenements("Numero_Ev" ) & " ORDER BY xxx"
Si c ca.
A+
Marsh Posté le 04-07-2002 à 12:25:30
Ouais c'est clair que j'ai un peu de mal avec la syntaxe :
des fois ils mettent '" & truc & "'
des fois c'est " & truc
des fois c'est truc.
Enfin pour mon truc nb c'est une variable que j'ai déclaré dans ma page asp.
Numero_Evenement c'est la clè primaire d'une table, et Numero_Evg c'est la clé primaire d'une autre table.
Donc quand je fais Numero_Evenement = Numero_Ev c'est une jointure.
Et quand je fais Numero_Evenement = Nb c'est pour spécifier l'évenement que je veux.
Pourrais tu me donner la syntaxe exacte, stp, ect-ce que c'est ça.
Et si possible m'expliquer ou m'indiquer ou je peux trouver les différentes syntaxes en fonction de différentes variables.
C'est ça? ->
"SELECT * FROM evenements, photos WHERE Numero_Evenement = " & Nb & " AND Numero_Evenement = Numero_Ev ORDER BY xxx"
Marsh Posté le 03-07-2002 à 16:01:35
Est-ce qu'on peut faire appel deux fois à un recordset :*
Comme ça:
'-- Création du recordset evenements
leSQL = "SELECT * FROM evenements ORDER by date"
Set rstevenements = server.CreateObject("ADODB.Recordset" )
rstevenements.Open leSQL, conbdevenements
'--Et 10 lignes plus loin faire
'-- Création du recordset photos
leSQL2 = "SELECT * FROM evenements, photos" & _
"WHERE Numero_Evenement = Nb AND Numero_Evenement = Numero_Ev"
Set rstphotos = server.CreateObject("ADODB.Recordset" )
rstphotos.Open leSQL2, conbdevenements
Parce qu'il me dit qu'il y a une erreur de syntase dans la clause from, et je n'en vois pas.
PS : Il arrive à "compiler", mais il affiche le début de la page, et il me met cette erreur.
Thanks...