Précédent   Forum des professionnels en informatique > Webmasters - Développement Web > Langages serveur > ASP
ASP Forum sur la programmation ASP. Avant de poster : Cours ASP, FAQ ASP
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 26/08/2006, 16h21   #1
Invité de passage
 
Inscription : janvier 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 24
Points : 2
Points : 2
Par défaut Incompréhension : problème d'un script ASP

Bonjour,

Je demande votre aide car après pas mal de recherche je ne sais plus quoi faire et je bloque sur ce problème.

Je suis en train de faire migrer un "progiciel" (c'est à dire un site web entièrement personnalisable à l'aide d'interfaces...) d'un serveur à un autre.

J'ai déjà résolu pas mal de mes problème mais la je suis confronté à l'erreur :

Citation:
error '80020009'
/site1/site/activite/fiche_bien_modif.asp, line 62
quand je veux créer une nouvelle page par l'interface (la page est bien crée mais j'arrive sur cette page d'erreur)


Je suis complétement bloqué. Je vous met le code du fichier ci-dessous :


Citation:
<%
if session("langue") = 1 then
set Con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../clients/epa1971/outpost.mdb")
set connstring = Server.CreateObject("ADODB.Recordset")

elseif session("langue") = 2 then
set Con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../clients/"&session("password")&"/outpost-langue2.mdb")
set connstring = Server.CreateObject("ADODB.Recordset")


elseif session("langue") = 3 then
set Con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../clients/"&session("password")&"/outpost-langue3.mdb")
set connstring = Server.CreateObject("ADODB.Recordset")

elseif session("langue") = 4 then
set Con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../clients/"&session("password")&"/outpost-langue4.mdb")
set connstring = Server.CreateObject("ADODB.Recordset")

elseif session("langue") = 5 then
set Con = Server.CreateObject("ADODB.Connection")
con.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("../clients/"&session("password")&"/outpost-langue5.mdb")
set connstring = Server.CreateObject("ADODB.Recordset")


end if

%>
<%
response.buffer=true
set rs5 = server.createobject("ADODB.Recordset")
sql5 = "select * from bouton_lien"
rs5.open sql5,con,2,3,1
%>

<%
session("id")=request("id")
id=session("id")
login_intranet=session("login_intranet")

SQL_INTRANET = "SELECT * FROM INTRANET WHERE login_intranet LIKE '" & login_intranet & "' "



sql = "select * from biens where id like '"&id&"'"


set rs = con.execute(SQL)
set rs_INTRANET = con.execute(SQL_INTRANET)


set rs1 = server.createobject("ADODB.Recordset")
sql1 = "select * from test_maj"
rs1.open sql1,con,2,3,1
set rs1 = con.execute(SQL1)



if rs("dossier")<> "non" then

if rs_INTRANET.EOF then
Response.Redirect "login_membre.htm"
else
end if


if session("dossier_intranet") <> rs("dossier") then
response.redirect"login_membre.htm"
end if
else
end if
a=rs("dossier")
%>
<html>
<head>

<%if rs5("lien_activite")="../activite/fiche_vierge.asp" then
response.redirect"fiche_vierge.asp"
end if%>
<%if rs5("lien_activite")="../activite/fiche_bien2.asp" then
response.redirect"fiche_bien2.asp"
end if%>
<%if rs5("lien_activite")="../activite/fiche_menu.asp" then
response.redirect"../gd/fiche_menu_modif.asp"
end if%>
<%if rs5("lien_activite")="../activite/fiche_menu_deroulant.asp" then
response.redirect"../gd/fiche_menu_deroulant_modif.asp"
end if%>
<% rs.close
set rs = nothing

rs1.close
set rs1 = nothing

rs5.close
set rs5 = nothing

con.close
set con=nothing
%>

et l'erreur se situe dans cette ligne :
Citation:
if rs("dossier")<> "non" then

Un grand merci d'avance à ceux qui s'attarderont sur mon problème.

++
Rocket666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2006, 10h54   #2
Membre du Club
 
Développeur Web
Inscription : décembre 2004
Messages : 89
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 89
Points : 53
Points : 53
Bonjour,

- As-Tu vérifié qu'il y a qqch dans rs("dossier") (ça se pourrait que rs soit vide)?
- De quel type est rs("dossier"): du texte ? un nombre ?


Phil
Philoulheinz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2006, 12h11   #3
Invité de passage
 
Inscription : janvier 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 24
Points : 2
Points : 2
Bonjour,

Merci de te pencher sur mon problème.

- J'ai vérifié qu' rs("dossier") ne soit pas vide est il ne l'est pas (il contient "vgt1924" qui correspond à un dossier du ftp).

- rs("dossier") est un champ TEXTE
Rocket666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 27/08/2006, 20h21   #4
Membre du Club
 
Développeur Web
Inscription : décembre 2004
Messages : 89
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 89
Points : 53
Points : 53
Je pense pas que je puisse t'aider plus alors je n'utilise pas couramment l'asp.
Ce que je ferais : je mets en commentaire ce qui n'est pas nécessaire (les 4 lignes au dessus de la ligne 62 par ex) et je décommente au fur à mesure. Ca se peut que l'erreur se situe autre part que la ligne indiquée.

En espérant que tu puisses résoudre ton problème, tiens moi au courrant ça m'intéresse de savoir ce qui n'allait pas, merci

bonne soirée,
P
Philoulheinz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2006, 09h02   #5
Membre chevronné
 
Inscription : janvier 2004
Messages : 633
Détails du profil
Informations forums :
Inscription : janvier 2004
Messages : 633
Points : 651
Points : 651
Salut,
La variable dans laquelle tu stockes ta requeteest en minuscule et quand tu l'appellestu l'écrit en majuscule est-ce une erreur de frappe ?
testes en uniformisant les noms.
__________________
+ + http://www.developpez.net/forums/tem...ini_search.gif
= ...enfin le plus souvent
Pymm est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2006, 09h23   #6
Membre régulier
 
Inscription : juillet 2005
Messages : 161
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 161
Points : 92
Points : 92
Vu que tu as beaucoup de recordset as tu verifier que "rs" contienne bien le champ dossier ?
Mateache est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2006, 19h33   #7
Invité de passage
 
Inscription : janvier 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 24
Points : 2
Points : 2
Philoulheinz : Merci pour ton aide

Pymm : J'ai uniformisé les majuscules/minuscules et cela ne change rien...

Mateache : Comment puis-je vérifier que le rs contienne bien le champ dossier ? (en fait je ne sais pas ce que signifie le rs en langage asp, car ce n'est pas une table mais je suppose l'abréviation de recordset non ?)

Merci pour vos réponses qui me permettent d'avancer un peu quand même !
Rocket666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 00h22   #8
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Salut,

Juste une petite remarque. L'utilisation de "LIKE" dans tes requetes SQL suppose que tu utilises aussi le signe "%". Il indique un "joker". Par exemple,
Code :
SELECT * FROM MATABLE WHERE USERNAME LIKE A%
te donnera tous les noms d'utilisateurs qui commencent par A.

D'ailleurs, ton code ne comporte pas de boucle alors que ton recordset pourrait très bien se composer de plusieurs enregistrements.

Sinon, fait fonctionner ton code pas à pas en ajoutant morceau par morceau. Utilise les response.write pour verifier la validité de tes requetes.

A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2006, 20h16   #9
Membre du Club
 
Développeur Web
Inscription : décembre 2004
Messages : 89
Détails du profil
Informations personnelles :
Âge : 28

Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : décembre 2004
Messages : 89
Points : 53
Points : 53
Citation:
L'utilisation de "LIKE" dans tes requetes SQL suppose que tu utilises aussi le signe "%". Il indique un "joker".
ou du "_". Si tu veux faire une comparaison complète :un "=" à la place du "LIKE" est suffisant mais dans ton cas, Rocket666, le problème ne vient pas de là.


courage ! on a tous nos prises de tête mais on finit toujours par y arriver
Philoulheinz est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/08/2006, 09h41   #10
Membre régulier
 
Inscription : juillet 2005
Messages : 161
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 161
Points : 92
Points : 92
Citation:
Envoyé par Rocket666
Philoulheinz : Merci pour ton aide

Pymm : J'ai uniformisé les majuscules/minuscules et cela ne change rien...

Mateache : Comment puis-je vérifier que le rs contienne bien le champ dossier ? (en fait je ne sais pas ce que signifie le rs en langage asp, car ce n'est pas une table mais je suppose l'abréviation de recordset non ?)

Merci pour vos réponses qui me permettent d'avancer un peu quand même !
rs c'est bien le nom de ton recordset qui selectionne les champs de la table "biens". As tu vérifier que le champ dossier se trouvait bien dans la table "biens". Verifie aussi l'orthographe du champ ...
Mateache est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 31/08/2006, 00h29   #11
Expert Confirmé Sénior

 
Avatar de Immobilis
 
Inscription : mars 2004
Messages : 5 849
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 5 849
Points : 5 965
Points : 5 965
Pour un peu plus de clarté, tu devrais remplacer
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<%if rs5("lien_activite")="../activite/fiche_vierge.asp" then
response.redirect"fiche_vierge.asp"
end if%>
<%if rs5("lien_activite")="../activite/fiche_bien2.asp" then
response.redirect"fiche_bien2.asp"
end if%>
<%if rs5("lien_activite")="../activite/fiche_menu.asp" then
response.redirect"../gd/fiche_menu_modif.asp"
end if%>
<%if rs5("lien_activite")="../activite/fiche_menu_deroulant.asp" then
response.redirect"../gd/fiche_menu_deroulant_modif.asp"
end if%>
Par un
Code :
1
2
 
SELECT CASE rs5("lien_activite")
A+
Immobilis est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 01/09/2006, 20h41   #12
Invité de passage
 
Inscription : janvier 2006
Messages : 24
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 24
Points : 2
Points : 2
Merci pour toutes ces réponses.
Je vais faire des tests et je vous tiens au courant.
Si jamais vous avez une idée n'hésitez pas !!

Encore merci.
Rocket666 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h55.


 
 
 
 
Partenaires

Hébergement Web