-
ASP, base de données
Bonjour à tous,
Je suis étudiante en Informatique et je debute en ASP.
Comme travail j'ai de prendre l'application internet sous un serveur NT 4 et de la mettre sous Windows 2003.
L'application effectue une gestion des salles de réunion. La base est sous ACCESS 97.
Donc il faut que je convertise la base en ACCESS 2003, ce qui est déjà fait.
Le problème qui s'oppose est que une fois que tout est mis sur le serveur, le code ASP qui recupère mes données, il affiche precque n'importe quoi et il sauvegarde n'importe quoi.
Je ne comprend pas d'où vien le problème.
est-ce que quelqun peut m'aider?
Merci d'avance.
-
je pense qu'une partie de ton code pourrait surement aider a determiner d'ou vient le probleme, mais il faut pour cela que tu le postes.
As tu fais un debuggage pas a pas pour voir si des exceptions sont levées, ect. ?
-
le code ASP
En fait le beug est sur une partie du code.
J'effectue de sauvegardes une dans une table RESERVATION et l'autre ds une table GRAPHIQUE qui me permet ensuite d'afficher me données dans une grille (grille des resrvations du jour en cours).
NB: je fait la migration de l'application, ms ce n'est pas moi qui a fait le code et je ne connais vraiment pas grand chose en ASP.
voici le code:
<%@ LANGUAGE = "VBScript" %>
<%
'Page d'ajout d'une réservation dans la base de données
'connexion à la base de données
Set BaseLink = Server.CreateObject("ADODB.Connection")
BaseLink.Open "reunionNew", "", ""
'BaseLink.Open "FILEDSN=reunionNew.dsn"
'declaration des variables
msg=""
dim TrancheHoraireDebut
dim TrancheHoraireFin
dim dreturn
erreur =5
'récupération de variables de session
nom =session("nom")
prenom =session("prenom")
'récupération des données du forumlaire
video = clng(Request.Form("videoproj"))
hdeb = CDate(request.form("hdeb"))
hfin = CDate(request.form("hfin"))
numsalle =Clng( Request.Form("salle"))
'test de l'existance d'un numero de salle
if numsalle <> 0 then
if Request.Form("nbpers")= "" then
var ="Select * from salle where NuméroSalle = " & numsalle & ""
Set rst1 = BaseLink.Execute (var)
nbpers = rst1("Capacité")
else
nbpers = clng(Request.Form("nbpers"))
var ="Select * from salle where NuméroSalle = " & numsalle & ""
Set rst1 = BaseLink.Execute (var)
nbpers1 = rst1("Capacité")
if nbpers > nbpers1 then
erreur = 9
end if
end if
call msgerreur(erreur)
end if
%>
<%
'Fonction de conversion de date de FR à americain!
Function ConvertDate(dfr)
iJour = datePart("d",dfr)
iMoi = datePart ("m",dfr)
iYear = datePart("yyyy",dfr)
'dreturn = Cdate( iMoi & "/" & iJour & "/" & iYear)
dreturn = Cdate( iJour & "/" & iMoi & "/" & iYear)
end function
%>
<%'Declaration des messages d'erreur
'Renvoyer le message d'erreur dans l'adresse pour l'afficher sur l'autre page
Function msgerreur(i)
Select case i
case 1
msg = "Syntaxe de date invalide"
case 2
msg = "Date anterieure à la date d'aujourd'hui"
case 3
msg = "Horaires invalides"
case 4
msg = "La salle est déjà réservée à cette date"
Case 5
msg = "pas d'erreur"
Case 6
msg = "Erreur, cette salle est déja reservée à cet horaire"
Case 7
msg = "Ce projecteur a déja été réservé !"
end select
end function
%>
<%
'Test si le vidéo projecteur est itulisé a cet horaire
function testprojecteur(h1,h2,dt,proj)
Call HeureToTranche(hdeb)
hd = TrancheHoraireDebut
Call HeureToTranche2(hfin)
hf = TrancheHoraireFin
ConvertDate(dt)
'Test du projecteur :
if proj <> 3 then
varsql1 = "Select * from graphique where graphique.DateRes = #" & dreturn & "#"
Set rs = BaseLink.Execute (varSQL1)
if (not rs.bof)then
rs.movefirst
While not rs.eof
For i= (hd+41) to (hf + 40)
if(not isnull (rs.fields(i))) then
if(clng(rs.fields(i))) = clng(proj) then
erreur = 7
exit function
end if
end if
next
rs.movenext
Wend
end if
rs.close
set rs = nothing
end if
end function
%>
<%
'Fonction d'ajout des données dans la table graphique
Function ajoutgraphique (h1,h2,dt,nums,n1,p1,proj)
'on se place sur l'enregistrement du jour dans la table graphique
Call HeureToTranche(h1)
hd = TrancheHoraireDebut
Call HeureToTranche2(h2)
hf = TrancheHoraireFin
'Test du projecteur :
if proj <> 3 then
varsql1 = "Select * from graphique where graphique.DateRes = #" & dt & "#"
Set rs = BaseLink.Execute (varSQL1)
if (not rs.bof)then
rs.movefirst
While not rs.eof
For i= (hd+41) to (hf + 40)
if(not isnull (rs.fields(i))) then
if(clng(rs.fields(i))) = clng(proj) then
erreur = 7
exit function
end if
end if
next
rs.movenext
Wend
rs.close
set rs = nothing
end if
end if
if nums = 0 then
nums = video * (-1)
end if
Set rs1=server.createObject ("ADODB.recordset")
varsql = "SELECT * FROM graphique WHERE graphique.DateRes= #"& dt &"# AND graphique.NuméroSalle = " & nums & ""
rs1.Open varsql, BaseLink, 1, 2 , 1
if(not rs1.bof) then
'on modifie
rs1.movefirst
for i=hd to hf-1
rs1.Fields(i+1) = 1
rs1.Fields(i+20+1) = n1 & " " & p1
rs1.Fields(i+40+1) = proj
rs1.update
next
rs1.close
set rs1 = nothing
Else
'on ajoute
Set rs4=server.createObject ("ADODB.recordset")
rs4.Open "graphique", BaseLink, 1, 2 ,2
rs4.Addnew
rs4("DateRes")= dt
rs4("NuméroSalle")=nums
for i=hd to hf-1
rs4.Fields(i+1) = 1
rs4.Fields(i+20+1) = cstr(n1 & " " & p1)
rs4.Fields(i+40+1) = cstr (proj)
rs4.update
next
'rs4.close
set rs4 = nothing
end if
end function%>
<%
'Conversion de l'horaire en une tranche horaire
function HeureToTranche(h)
Select Case h
Case "8:00:00"
TrancheHoraireDebut = 1
Case "8:30:00"
TrancheHoraireDebut = 2
Case "9:00:00"
TrancheHoraireDebut = 3
Case "9:30:00"
TrancheHoraireDebut = 4
Case "10:00:00"
TrancheHoraireDebut = 5
Case "10:30:00"
TrancheHoraireDebut = 6
Case "11:00:00"
TrancheHoraireDebut = 7
Case "11:30:00"
TrancheHoraireDebut = 8
Case "12:00:00"
TrancheHoraireDebut = 9
Case "12:30:00"
TrancheHoraireDebut = 10
Case "13:00:00"
TrancheHoraireDebut = 11
Case "13:30:00"
TrancheHoraireDebut = 12
Case "14:00:00"
TrancheHoraireDebut = 13
Case "14:30:00"
TrancheHoraireDebut = 14
Case "15:00:00"
TrancheHoraireDebut = 15
Case "15:30:00"
TrancheHoraireDebut = 16
Case "16:00:00"
TrancheHoraireDebut = 17
Case "16:30:00"
TrancheHoraireDebut = 18
Case "17:00:00"
TrancheHoraireDebut = 19
Case "17:30:00"
TrancheHoraireDebut = 20
Case "18:00:00"
TrancheHoraireDebut = 21
end select
end function
%>
<%function HeureToTranche2(h)
Select Case h
Case "8:00:00"
TrancheHoraireFin = 1
Case "8:30:00"
TrancheHoraireFin = 2
Case "9:00:00"
TrancheHoraireFin = 3
Case "9:30:00"
TrancheHoraireFin = 4
Case "10:00:00"
TrancheHoraireFin = 5
Case "10:30:00"
TrancheHoraireFin = 6
Case "11:00:00"
TrancheHoraireFin = 7
Case "11:30:00"
TrancheHoraireFin = 8
Case "12:00:00"
TrancheHoraireFin = 9
Case "12:30:00"
TrancheHoraireFin = 10
Case "13:00:00"
TrancheHoraireFin = 11
Case "13:30:00"
TrancheHoraireFin = 12
Case "14:00:00"
TrancheHoraireFin = 13
Case "14:30:00"
TrancheHoraireFin = 14
Case "15:00:00"
TrancheHoraireFin = 15
Case "15:30:00"
TrancheHoraireFin = 16
Case "16:00:00"
TrancheHoraireFin = 17
Case "16:30:00"
TrancheHoraireFin = 18
Case "17:00:00"
TrancheHoraireFin = 19
Case "17:30:00"
TrancheHoraireFin = 20
Case "18:00:00"
TrancheHoraireFin = 21
end select
end function
%>
<%'Test de la validité de la date
str = request.form("FromDate")
if (Isdate(str)) then
daa=cdate(str)
iJour1 = datePart("d",daa)
iMoi1 = datePart ("m",daa)
iYear1 = datePart("yyyy",daa)
daa2 = iJour1 & "/" & iMoi1 & "/" & iYear1
d1 = str
iJour = datePart("d",Date)
iMoi = datePart ("m",Date)
iYear = datePart("yyyy",Date)
daa1 = cdate(iJour & "/" & iMoi & "/" & iYear)
'response.write("daa " & daa)
'response.write("daa2 " & daa2)
'response.write("daa1 " & daa1)
'response.write("datesys " & Date)
if cdate(daa1) > daa2 then
erreur=2
end if
Else
erreur=1
end if
'Test de validité des horaires
if (hdeb>=hfin)then
erreur=3
Else
salle =Clng( Request.Form("salle"))
call msgerreur(erreur)
If erreur <> 5 then
Response.redirect "ajout.asp?erreur=" & erreur & ""
end if
'Test de validité de la réservation
iJour = datePart("d",d1)
iMoi = datePart ("m",d1)
iYear = datePart("yyyy",d1)
dr = Cdate( iJour & "/" & iMoi & "/" & iYear)
varSQL = "SELECT * FROM Réservation WHERE Réservation.DateRes = #" & dr & "# AND Réservation.NuméroSalle = " & salle & " "
Set rst = BaseLink.Execute (varSQL)
if(not rst.bof) then
rst.movefirst
while(not rst.eof)
if erreur <> 6 then
if(((hdeb<rst("Hdebut")) and (hfin<=rst("Hdebut"))) or ((hdeb>=rst("Hfin")) and (hfin>rst("Hfin")))) then
erreur = 5
else
erreur = 6
end if
end if
rst.movenext
wend
end if
call testprojecteur(hdeb,hfin,d1,video)
rst.close
set rst=nothing
end if
call msgerreur(erreur)
If erreur <> 5 then
Response.redirect "ajout.asp?erreur=" & erreur & ""
Else
'Il faut ajouter dans la table réservation!
varSQL2 = "SELECT NuméroUtilisateur from Utilisateur where Utilisateur.Nom = '" & nom & "' and Utilisateur.Prénom = '" & prenom & "'"
Set rst = BaseLink.Execute(varSQL2)
rst.MoveFirst
numuser = rst("NuméroUtilisateur")
call ConvertDate(d1)
if numsalle <> 0 then
varSQL3 = "INSERT INTO Réservation(DateRes,Hdebut,Hfin,nbpersonne,NuméroSalle,NuméroUtilisateur,CodeVidéoProjecteur) "
varSQL3 = varSQL3 & "VALUES(#"& dreturn &"#,'" & hdeb & "','" & hfin & "'," & nbpers & "," & salle & "," & numuser & ","& video &");"
BaseLink.Execute varSQL3
else
if video <> 3 then
varSQL3 = "INSERT INTO Bureau(DateRes,Hdebut,Hfin,NuméroUtilisateur,CodeVidéoProjecteur) "
varSQL3 = varSQL3 & "VALUES(#"& dreturn &"#,'" & hdeb & "','" & hfin & "'," & numuser & ","& video &");"
BaseLink.Execute varSQL3
else
erreur = 8
end if
end if
call msgerreur(erreur)
If erreur <> 5 then
Response.redirect "ajout.asp?erreur=" & erreur & ""
end if
'Il faut maintenant ajouter dans la table graphique!
call ajoutgraphique(hdeb,hfin,dreturn,salle,nom,prenom,video)
'Recuppération du nom de la salle
if numsalle > 0 then
varSQL4 = "SELECT * FROM Salle Where NuméroSalle = " & salle &""
Set rs5 = BaseLink.Execute(varSQL4)
NomSalle = rs5("NomSalle")
else
NomSalle = "Aucune"
end if
'Recupération du nom du rétroprojecteur
if video <> 3 then
varSQL9 = "SELECT * from VidéoProjecteur Where CodeVidéoprojecteur = " & video & ""
set rs9 = BaseLink.Execute(varSQL9)
NomRetro = rs9("LibelléVidéoprojecteur")
end if
rst.close
set rst=nothing
%>
<html>
<head>
<title>confirmation de réservation</title>
<!--<meta http-equiv="refresh" content="3;URL=ajout.asp">-->
<script language="JavaScript">
<!--
function MM_swapImgRestore() { //v3.0
var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc;
}
function MM_preloadImages() { //v3.0
var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}}
}
function MM_findObj(n, d) { //v3.0
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); return x;
}
function MM_swapImage() { //v3.0
var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3)
if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];}
}
function showlayer(name)
{document.all[name].style.visibility = 'visible';
}
function hidelayer(name)
{document.all[name].style.visibility = 'hidden';
}
//-->
</script>
</head>
<body bgcolor="#FFFFFF" background="../../img/bg4.jpg" onLoad="MM_preloadImages('../../img/fmenu12.GIF','../../img/fmenu22.GIF','../../img/fmenu32.GIF')">
<table width="90%" border="0" height="231">
<tr>
<td width="21%" height="102">
<p><img src="../../img/fci%20logo.JPG" width="142" height="77"></p>
</td>
<td width="15%" rowspan="5">
<p> </p>
<p> </p>
<div id="Layer3" style="position:absolute; width:605px; height:20px; z-index:5; left: 168px; top: 121px; background-color: #00009C; layer-background-color: #00009C; border: 1px none #000000"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><b>Ajout
d'une réservation</b></font></div>
<p> </p>
<p> </p>
<p> </p>
</td>
<td width="64%">
<div id="Layer2" style="position:absolute; width:304px; height:80px; z-index:7; left: 468px; top: 26px"><img src="../../img/ban1800.jpg" width="301" height="77"></div>
<p><font color="#FFFFFF"> </font></p>
<p></p>
<p> </p>
</td>
</tr>
<tr>
<td width="21%" height="20">
<p><a href="ajout.asp" onMouseOut="MM_swapImgRestore();hidelayer('ajout')" onMouseOver="MM_swapImage('menu1','','../../img/fmenu12.GIF',1);showlayer('ajout')"><img name="menu1" border="0" src="../../img/fmenu1.GIF"></a></p>
</td>
<td width="64%"><font color="#FFFFFF" face="Arial, Helvetica, sans-serif"><b>
</b></font></td>
</tr>
<tr>
<td width="21%" height="2"><a href="suppr.asp" onMouseOut="MM_swapImgRestore();hidelayer('suppr')" onMouseOver="MM_swapImage('menu2','','../../img/fmenu22.GIF',1);showlayer('suppr')"><img name="menu2" border="0" src="../../img/fmenu2.GIF"></a></td>
<td width="64%"> </td>
</tr>
<tr>
<td width="21%" height="9"><a href="voir.asp" onMouseOut="MM_swapImgRestore();hidelayer('visu')" onMouseOver="MM_swapImage('menu3','','../../img/fmenu32.GIF',1);showlayer('visu')"><img name="menu3" border="0" src="../../img/fmenu3.GIF"></a></td>
<td height="9" width="64%"> </td>
</tr>
<tr>
<td width="21%" height="132">
<div id="visu" style="position:absolute; width:115px; height:130px; z-index:1; left: 13px; top: 201px; visibility: hidden">
<p><font size="-1">Cliquer pour visualiser les réservations à
une date donnée</font></p>
<p> </p>
<p> </p>
</div>
<div id="suppr" style="position:absolute; width:120px; height:100px; z-index:2; left: 13px; top: 201px; overflow: hidden; visibility: hidden"><font size="-1">Cliquer
pour supprimer une réservation</font></div>
<div id="ajout" style="position:absolute; width:120px; height:105px; z-index:3; left: 13px; top: 201px; visibility: hidden"><font size="-1">Cliquer
pour ajouter une réservation</font></div>
</td>
<td width="64%" height="132">
<p> </p>
<p> </p>
<p> </p>
</td>
</tr>
</table>
<div id="Layer1" style="position:absolute; width:608px; height:120px; z-index:6; left: 168px; top: 156px">
<% if numsalle<>0 then %>
<p>Votre réservation du <b><%=d1%></b> de <b><%=hdeb%></b> à <b><%=hfin%></b>
pour <b> <%=nbpers%></b> personnes, pour la salle <b><%=NomSalle%></b>
<% if video <> 3 then %>
équipée du <b><%=NomRetro%></b>
<% end if %>
a bien été prise en compte.</p>
<% else %>
<p>Votre réservation du <b><%=d1%></b> de <b><%=hdeb%></b> à <b><%=hfin%></b>
pour le <b><%=NomRetro%></b> a bien
été prise en compte.</p>
<% end if %>
<p><a href="voir.asp?Dt=<%=d1%>">Cliquez ici pour continuer</a></p>
</div>
<p> </p>
<p> </p>
<%call msgerreur(erreur)%>
<%end if%>
<p> </p>
</body>
</html>
-
tu peux ne dire un message qui te sort où un comprtement anormal lors de l'appel de la page??
ça nous aidera plus
-
Le problème c'est qu'il ne sort aucun message d'erreur.
Soit il ne auvagerade comme il fut, soit il dit page not found.
Merci!