Newsgroup: it.comp.www.asp
Titolo: ASP che funziona solo la prima volta ??

Il seguente Asp funziona correttamente la prima volta che viene eseguito con
IE 5.5
Dopodichè l'unico modo per vederlo funzionare nuovamente è quello di
spegnere e riaccendere il PC (e non credo che sia il modo migliore per
utilizzarlo :-))
Infatti dopo aver segnalato 'sito web rilevato' ( a volte non segnala
nemmeno quello ...) non accade più nulla.
Ho già reinstallato il personal web server( quello di wdw 98) e frontpage
'98 pensando che dipendesse da quello, ma non è cambiato nulla e succede la
stessa cosa se visualizzo la pagina da un'altro PC collegato in rete
Grazie a chi ha tempo di rispondermi.
N.B. Sono una neofita.
<%
' dichiaro la variabile che conterrà l'oggetto Connection
Dim conn
' creo la connessione per il database
Set conn=Server.CreateObject("ADODB.Connection")
' apro la connessione (specifico tutto)
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq="&Server.MapPath("entra.mdb")
%>
<%
' creo il RecordSet
Dim res
Set res=conn.Execute("SELECT Nome, Cognome, Login FROM LOGIN")
' ciclo finche' ci sono record
Do While Not res.EOF
' faccio qualche cosa con i dati
nome = res.Fields("Nome")
cognome = res.Fields("Cognome")
login = res.Fields("Login")
response.write("nome="&login)
' prossimo record
res.MoveNext()
Loop
' chiudo il recordset
res.Close
Set res=Nothing
' chiudo la connessione
conn.Close()
Set conn=Nothing
%>
<html>
<head>
<title></title>
</head>
<body>
</body>
</html>
-- 
Posted from 
mail.logicom.it
 [212.38.34.201] 
via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Uhmmm......
Vediamo....  (grat... grat... grat...)
Prova a forzare il cursore al primo record di output della query...
Dimmi se funziona.
Ciao,
Michele Piscopo     7Host.com
<%
' dichiaro la variabile che conterrà l'oggetto Connection
Dim conn
' creo la connessione per il database
Set conn=Server.CreateObject("ADODB.Connection")
' apro la connessione (specifico tutto)
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq="&Server.MapPath("entra.mdb")
%>
<%
' creo il RecordSet
Dim res
Set res=conn.Execute("SELECT Nome, Cognome, Login FROM LOGIN")
' ciclo finche' ci sono record
'PROVA AD AGGIUNGERE QUESTA RIGA
RS.MOVEFIRST
Do While Not res.EOF
'.... tutto rimane uguale a prima
Loop

N.B. Sono una neofita.
Il tuo codice apre una connessione e legge dei dati, ma non 
fa' nulla effettivamente. Cioe': i dati non li visualizza
(il "body" dell'HTML e' vuoto).
Quindi come puoi dire che la cosa viene eseguita solo
una volta? Secondo me viene eseguita sempre, la prima volta
ci mette di piu' probabilmente perche' deve caricarsi in
memoria le librerie di ODBC che sono usate per la connessione,
poi le ha gia' in memoria e non deve fare altro.
Davide

Forse faccio un po' di confusione, comunque all'interno del loop c'è una
response write che mi visualizza quasi instantaneamente e correttamente i
valori della variabile login.
Se premo F5 da IE, o se esco e rientro in IE non c'è verso di riottenere lo
stesso risultato.
L'unica maniera è resettare il PC.
Grazie per l'attenzione
Paola


 stessa cosa se visualizzo la pagina da un'altro PC collegato in rete
Il problema non e' nel codice ASP ma nel PWS.
Ho avuto anch'io lo stesso problema: in pratica provavo le pagine ASP e
se queste contenevano del codice che leggeva un database, si impiantava
il PWS. L'unica soluzione era killare il PWS (non con CTRL+ALT+CANC,
perche' non compare li', bisogna utilizzare un'applicazione che mostri i
task attivi come wintop e uccidere inetinfo.exe).
Io ho risolto convincendo la societa' ad acquistare un server con WinNT!
:-)
--
ciao
gelty
http://www.sifor.it

response write <ZAP>
Sorry, mi era sfuggito nel mezzo del codice (sono un poco rinco
stamane...).
Allora l'unica che mi viene in mente e' che il PWS si inchioda o la
connection va' "buca"... da cosa dipenda pero' e' un guaio scoprirlo.
Davide

Ho provato, ma č cambiato ben poco.
Comunque grazie lo stesso.


Sai, anche io ho avuto lo stesso tuo problema!
La causa probabile è la cattiva coppia PWS -> ODBC, dico questo perchè una
volta cambiata la connessione al database da ODBC a OLE-DB... tutto si è
risolto!
Quindi prima facevi così:
<%
' dichiaro la variabile che conterrà l'oggetto Connection
Dim conn
' creo la connessione per il database
Set conn=Server.CreateObject("ADODB.Connection")
' apro la connessione (specifico tutto)
conn.Open "driver={Microsoft Access Driver
(*.mdb)};dbq="&Server.MapPath("entra.mdb")
%>
Prova invece COSI':
<%
' dichiaro la variabile che conterrà l'oggetto Connection
Dim conn
' creo la connessione per il database
Set conn=Server.CreateObject("ADODB.Connection")
' apro la connessione (specifico tutto)
conn.Open "Provider = Microsoft.Jet.OLEDB.4.0; Data
Source="&Server.MapPath("entra.mdb")
%>
Occhio ad avere le OLEDB Jet 4.0 installate, magari hai le 3.5 oppure
nemmeno una... consulta il sito 
www.aspitalia.com
 per maggiori informazioni,
c'è un articolo che parla degli OLE-DB, ragazzi usateli!!!!!!
Le performance aumentano veramente!
Sono parecchio fiducioso... Buona fortuna!
;-) Sandro De Matteis

Lavoro nel ced di una societą da 10 anni insieme ad altre 5 persone.
Fino a 5 anni fa il mio PC era un 286 con 30M di HD .....
Non aggiungo altro
Sigh


> Il problema non e' nel codice ASP ma nel PWS.
 Io invece credo che il problema stia in IE5...infatti io ho risolto installando
IE4 e ora tutto funziona alla grande.
Omar


Moderatore di it.comp.www.asp
Sito di supporto: 
http://www.aspitalia.com/newsgroup/
La più grande community italiana di sviluppatori!

Su indicazione di ASPITALIA ho eseguito il download di jet40sp3comp.exe dal
sito della microsoft, ma dopo aver eseguito l'estrazione del file l'OBDCCONF
che parte automaticamente segnala Invalid parameters !
Ho inserito comunque la seguente riga ed ora il responso di IE5.5  è il
seguente:
conn.Open "Provider =
Microsoft.Jet.OLEDB.4.0;DataSource="&Server.MapPath("entra.mdb")
Microsoft JET Database Engine errore "80004005"
Could not find installable ISAM.
/prova.asp, riga 8
Sto pensando di tornare al COBOL '85
Ciao
