Problema con "do while"

microsostanza

Nuovo Utente
20 Ago 2006
5
0
0
Scusate la mia ignoranza da novizio... ecco perchè vi kiedo aiuto e vi ringrazio per l'aiuto futuro (spero!) :-)
Ho creto una paginetta asp che dovrebbe cancellare i record presenti in un database la cui data è passata.
Lo script genera questo errore:

Microsoft VBScript compilation error '800a0400'
Expected statement
/Musica/M_concerti2.asp, line 56
<%rs.movenext
^

ke può essere?

Per completezza vi riporto lo script:
<%
Session.LCID=1040
%>

<%Set dbconn = Server.CreateObject("ADODB.Connection")
mMapPath = Server.MapPath("../mdb-database/concerti_eventiprova.mdb")
dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"
sql="select * from concerti order by dataa"
Set RS=dbconn.Execute(sql)%>

<%response.write(date)
today=((Date))%>

<%do while not rs.eof

DataConcerto=(rs("dataa"))

if DataConcerto < today then

Set dbconn = Server.CreateObject("ADODB.Connection")
mMapPath = Server.MapPath("../mdb-database/concerti_eventiprova.mdb")
dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"

sql="DELETE from concerti where dataa like '" & DataConcerto &"'"

response.write(sql)
response.end
'Set RS=dbconn.Execute(sql)

'Set RS = Nothing
'set dbconn = Nothing
else
response.write(rs("dataa"))
response.write(rs("nome"))
response.write("<br>")
end if
<%rs.movenext
loop%>
 
Quando scrivi rs.monenext apri il tag di script, ma in precedenza non lo hai chiuso :byebye: Erika
 
"Quando scrivi rs.monenext apri il tag di script, ma in precedenza non lo hai chiuso"

Ignorantone io...
ho fatto un po' di prove ma nulla...
dove è ke dovrei aprire e chiudere i tag di script?
Grazie in anticipo!!!!
 
nelle ultime righe scrivi :

else
response.write(rs("dataa"))
response.write(rs("nome"))
response.write("<br>")
end if
<%rs.movenext
loop%>

e invece dovresti scrivere:

else
response.write(rs("dataa"))
response.write(rs("nome"))
response.write("<br>")
end if
rs.movenext
loop%>

Quindi devi togliere <% prima di rs.movenext
Ciao
 
:-(

Ebbene, lo script adesso esegue correttamente la sql, però nella pagina mi visualizza "Impossibile visualizzare la pagina"...
sto impazzendo! :-(
 
Ecco lo script intero

<%
Session.LCID=1040
%>

<html>
<%Set dbconn = Server.CreateObject("ADODB.Connection")
mMapPath = Server.MapPath("../mdb-database/concerti_eventiprova.mdb")
dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"
sql="select * from concerti order by dataa"
Set RS=dbconn.Execute(sql)%>
<head>
<title>Nuova pagina 1</title>
</head>

<body>

<%response.write(date)
today=((Date))%>

<%do while not rs.eof

DataConcerto=(rs("dataa"))

if DataConcerto < today then

Set dbconn = Server.CreateObject("ADODB.Connection")
mMapPath = Server.MapPath("../mdb-database/concerti_eventiprova.mdb")
dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"

sql="DELETE from concerti where dataa like '" & DataConcerto &"'"

'response.write(sql)
'response.end
Set RS=dbconn.Execute(sql)

Set RS = Nothing
set dbconn = Nothing
else
response.write(rs("dataa"))
response.write(rs("nome"))
response.write("<br>")
end if
rs.movenext
loop%>

</body>
</html>
 
Ci sono degli errori concettuali, ti posto lo script corretto:

<%
Session.LCID=1040
%>

<html>
<%
Const MdbDatabase = "./mdb-database/concerti_eventiprova.mdb"
dsn = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(MdbDataBase)
set dbConn = Server.CreateObject ("Adodb.Connection")
dbConn.Open dsn

sql="select * from concerti order by dataa"
Set RS=dbconn.Execute(sql)%>
<head>
<title>Nuova pagina 1</title>
</head>

<body>



<%response.write(date)
today=((Date))%>

<%do while not rs.eof

DataConcerto=(rs("dataa"))

if DataConcerto < today then

'Set dbconn = Server.CreateObject("ADODB.Connection")
'mMapPath = Server.MapPath("../mdb-database/concerti_eventiprova.mdb")
'dbconn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & mMapPath & ";"

sql2="DELETE from concerti where dataa like '" & DataConcerto &"'"

'response.write(sql)
'response.end
Set RS2=dbconn.Execute(sql2)

'Set RS = Nothing
'set dbconn = Nothing
else
response.write(rs("dataa"))
response.write(rs("nome"))
response.write("<br>")
end if
rs.movenext
loop%>

</body>
</html>

Prima di chiudere il body chiudi il recordset e la connessione.....
Se ci sono problemi fammi sapere....
Ciao
 

Discussioni simili