ASP/Java et base de donnee:casse tete

Messages postés
4
Date d'inscription
lundi 14 juillet 2003
Statut
Membre
Dernière intervention
18 juillet 2003
- - Dernière réponse : alaincau
Messages postés
4
Date d'inscription
lundi 14 juillet 2003
Statut
Membre
Dernière intervention
18 juillet 2003
- 18 juil. 2003 à 10:09
Je planche depuis deux jours sur un petit casse tete que mon niveau de debutant ne me permet pas de resoudre.
Le script suivant a pour but de generer deux listes imbriquees qui font appel a deux bases de donnees:
Table mere : Comuni (NomeComune,IDcomune)
Table fille : Via (CodVia, NomeVia, IDComune)

Le script de base que j ai modifie est dispo sur http://www.aspfr.com/article.aspx?Val=558

J ai une erreur de donnee sur la ligne de requete :
Set rstest = connStr.Execute("SELECT * FROM Via where ID="&rssecteur(0)&" ORDER BY IDComune")

qui semble venir de
rssecteur(0)


J ai tout essaye et je n arrive pas a resoudre cette erreur

Je colle mon script ci dessous j espere que vous pourrez m aider.

Merci d avance pour toutes les remarques et commentaires

//Connexion a la base de donne
<!--#include file="../../Connections/Priula.asp" -->
<%
Set connStr = Server.CreateObject("ADODB.Connection")
connStr.Open "Park"%>

<script language="JavaScript" type="text/JavaScript">
<!--

//Fonction utilisee dans la liste pour aller a la deuxieme liste

Function changeliste(){
document.AggiungereAreaVerdeForm.Via.options.length=0;
var opt = New Option("","-1");
document.AggiungereAreaVerdeForm.Via.options[document.AggiungereAreaVerdeForm.Via.options.length]=opt;
value = document.AggiungereAreaVerdeForm.Comune.value;
<% Set rssecteur = connStr.Execute("select IDComune from Comuni")%>
If (value=="-1")
{<%
Set rstest = connStr.Execute("SELECT * FROM Via ORDER BY IDComune")
Do While Not rstest.EOF %>
opt = New Option("<%=rstest("CodVia")%>","<%=rstest("NomeVia")%>");
document.AggiungereAreaVerdeForm.Via.options[document.AggiungereAreaVerdeForm.Via.options.length]=opt;
<% rstest.movenext
Loop %>
}
else {
<%
Do While Not rssecteur.EOF
%>
if(value=="<%=rssecteur(0)%>"){

//Place du probleme
<%
             Set rstest = connStr.Execute("SELECT * FROM Via where ID="&rssecteur(0)&" ORDER BY IDComune")

Do While Not rstest.EOF %>
opt=New Option("<%=rstest("CodVia")%>","<%=rstest("NomeVia")%>");
document.AggiungereAreaVerdeForm.Via.options[document.AggiungereAreaVerdeForm.Via.options.length]=opt;
<% rstest.movenext
Loop %>
}
<% rssecteur.movenext
loop%>
}
}

//creation des forms

<form action="AreaVerde.asp" method="post" name="AggiungereAreaVerdeForm" id="AggiungereAreaVerdeForm">
//liste Comune
<Select name="Comune" size="1" onChange="changeliste()">
<%set liste=connStr.execute("select * from Comuni")
While Not liste.eof
Response.Write("<OPTION VALUE="&liste("IDComune")&">"&liste("NomeComune")&"</option>")
liste.movenext
wend%>
</Select>
//Liste Via
<Select name="Via" size="1">
</Select>
</form>
Afficher la suite 

2 réponses

Messages postés
56
Date d'inscription
mercredi 28 mai 2003
Statut
Membre
Dernière intervention
11 novembre 2005
6
0
Merci
Quand tu fais ta requête... ta clause ...WHERE ID= ... ca serait pas plutot ...WHERE IDComune =...

Maggie :shy)
Commenter la réponse de MaggieVB
Messages postés
4
Date d'inscription
lundi 14 juillet 2003
Statut
Membre
Dernière intervention
18 juillet 2003
0
Merci
Si tu as tout a fait raison Maggie 8-)

J ai tout corrige et j avais encore le PB. En fait c est parce que ma cle primaire est un text donc la soluce pour le bon script c est d utiliser des ' '

Alors ca fait

Set rstest =  connStr.Execute("SELECT * FROM Via where IDComune='"&rssecteur(0)&"' ORDER BY IDComune")


J ai comme meme un ptit pb d affichage car je comprends pas bien comment marche

document.AggiungereAreaVerdeForm.Via.options[document.AggiungereAreaVerdeForm.Via.options.length]=opt;


Si quelqu un peu m expliquer
Commenter la réponse de alaincau