Nuovo problema su restituzione dati da database access

Toscano

Utente Attivo
27 Apr 2012
31
0
0
Firenze
Questo problema, sicuramente per chi ha un po' d'esperienza è una fesseria.
Mi spiego: ho una pagina asp che legge e restituisce i dati da un database access ordinati in una tabella.
Questi dati sono 10 record che hanno in un campo un determinato nome:
ad esempio se a nome corrisponde Pippo vengono visualizzati.

Il problema è che se la parola Pippo non c'è la pagina mi restituisce un errore invece io vorrei che mi restituisse un messaggio del tipo La parola Pippo non c'è

Vi posto il codice della pagina:

<%@LANGUAGE = VBScript%>
<%
' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
Dim sc, cn, rs, quanti, pag, contatore

' DEFINISCO LA STRINGA DI CONNESSIONE
sc = ""
sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
sc = sc & Server.MapPath("data/data.mdb")

' IMPOSTO LA CONNESSIONE EDIL RECORDSET
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

' APRO LA CONNESSIONE COL DATABASE
cn.Open sc

' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
quanti = 10

' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1
pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1

' IMPOSTO UN CONTATORE
contatore = 0
%>
<html>
<head>
<title>Paginazione dei risultati di query molto lunghe in ASP</title>
<style>a { color: blue; }</style>
</head>
<body>
<font face="arial" size="2">
<table align="left" width="300" border="1" >

<%
' APRO IL RECORDSET
rs.Open "SELECT * FROM Contatti WHERE NomeInsegnante ='Pippo'", cn, 1
' EFFETTUO MATERIALMENTE LA PAGINAZIONE
rs.PageSize = quanti
rs.AbsolutePage = pag
' ESEGUO IL CICLO
While rs.EOF = False And contatore < quanti
%>
<tr><td><%=rs ("Cognome e classe")& " - prenotato con prof." & rs("NomeInsegnante")%></td></tr>
<%
rs.MoveNext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
Wend
%>
</table>

</body>
</html>
<%
' UN PO DI PULIZIA...
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>


Qualche suggerimento?
 

Vale2

Utente Attivo
28 Mag 2006
446
0
0
Livorno
Ciao,

if rs.EOF Then se non esiste o non corrisponde

if NOT rs.EOF Then se esiste o corrisponde

in un ciclo

do while rs.EOF se non esiste o corrisponde

do while not rs.EOF se esiste o corrisponde


Codice:
<%@LANGUAGE = VBScript%>
<%
' DEFINISCO LE VARIABILI CHE MI SERVONO PER L'APPLICAZIONE
Dim sc, cn, rs, quanti, pag, contatore

' DEFINISCO LA STRINGA DI CONNESSIONE
sc = ""
sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
sc = sc & Server.MapPath("data/data.mdb")

' IMPOSTO LA CONNESSIONE EDIL RECORDSET
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")

' APRO LA CONNESSIONE COL DATABASE
cn.Open sc

' DEFINISCO IL NUMERO DI RECORD DA VISUALIZZARE PER OGNI PAGINA
quanti = 2

' RECUPERO IL NUMERO DI PAGINA CORRENTE
' E CONTROLLO CHE NON SIA INFERIORE A 1
pag = Request.QueryString("pag")
If IsNumeric(pag) = False Or pag < 1 Then pag = 1

' IMPOSTO UN CONTATORE
contatore = 0
%>
<html>
<head>
<title>Paginazione dei risultati di query molto lunghe in ASP</title>
<style>a { color: blue; }</style>
</head>
<body>

<table align="left" width="300" border="1">

<%
' APRO IL RECORDSET
rs.Open "SELECT * FROM Contatti WHERE NomeInsegnante ='Pippo'", cn, 1
' EFFETTUO MATERIALMENTE LA PAGINAZIONE

''''''''''''''''''''''''''''''''''''''''''''''''''''''''

' Imposto un nome variabile per un dato non presente
dim ERRORE

' se il dato non è presente
if rs.EOF Then

' Il Messaggio visualizzato
ERRORE = "Record cercato non presente."

' Stampo a video il messaggio e aggiungo i tag
Response.Write"<tr><td><font face=""arial"" size=""2"">" & ERRORE & "</font></td></tr>"& vbCRLF &"</table>"& vbCRLF &"</body>"& vbCRLF &"</html>"

' Blocco l'esecuzione delle istruzioni successive
Response.end

' Continuo il ciclo di istruzioni se i dati corrispondono	
else

rs.PageSize = quanti
rs.AbsolutePage = pag
' ESEGUO IL CICLO

' Chiudo il controllo if rs.EOF Then 
end if

''''''''''''''''''''''''''''''''''''''''''''''''''''''''

do while not rs.EOF And contatore < quanti
%>
<tr><td><font face="arial" size="2"><%=rs ("Cognome e classe")& " - prenotato con prof. " & rs("NomeInsegnante")%></font></td></tr>

<%
rs.MoveNext
' INCREMENTO IL VALORE DEL CONTATORE
contatore = contatore + 1
loop
%>
</table>

</body>
</html>

<%
' UN PO DI PULIZIA...
rs.Close
Set rs = Nothing
cn.Close
Set cn = Nothing
%>


Valeria.
 
Discussioni simili
Autore Titolo Forum Risposte Data
Fuego2806 [Joomla] Problema di login con il nuovo template Joomla 0
M problema dopo trasferimento su nuovo hosting WordPress 2
P Problema Inserimento nuovo element database... MySQL 3
O [risolto] Inserimento nuovo campo in mysql. Problema PHP 6
S Problema inserimento nuovo record da form PHP 5
C Problema alimentazione con alimentatore nuovo (power surges) su MB ASUS Hardware 4
Sargon Motore di ricerca, nuovo problema PHP 3
S problema con inserimento nuovo record PHP 6
SolidSnake4 nuovo problema visualizzazione HTML e CSS 3
M Problema Nuovo sito HTML e CSS 0
D Nuovo problema HTML e CSS 1
E Benvenuti sul Nuovo Sito: Explore Como Lake! Presenta il tuo Sito 0
K Sfondo nuovo file Photoshop 0
F errore 1062 su campo nuovo MySQL 4
G Bentrovati da un nuovo utente Presentati al Forum 1
M Ciao a tutti sono un nuovo iscritto Presentati al Forum 0
D Nuovo blog Vendere e Acquistare pubblicita' online 3
C Nuovo membro Presentati al Forum 0
M Nuovo e newbie Presentati al Forum 0
F Nuovo utente Presentati al Forum 0
G Nuovo Presentati al Forum 0
Cosina Nuovo gtag.js snippet Google Analytics 1
G Link Building da aggregatori e nuovo social network SEO e Posizionamento 1
M Essendo un nuovo Iscritto vi porgo i miei saluti più sinceri e vi auguro un buon lavoro a tutti Presentati al Forum 1
A Sono nuovo Presentati al Forum 1
O Sono nuovo Presentati al Forum 1
L Presentazione Nuovo Iscritto Presentati al Forum 1
G Sono nuovo Presentati al Forum 0
W Nuovo utente Presentati al Forum 0
J Nuovo utente Presentati al Forum 1
G Nuovo utente Presentati al Forum 1
F Load balancing in casa e nuovo router Reti LAN e Wireless 0
R Nuovo arrivato Presentati al Forum 2
felino Bug estetici del nuovo layout Supporto Mr.Webmaster 1
G Richiesta consigli SEO: nuovo algoritmo Google (e altro) SEO e Posizionamento 2
Licantropo [Joomla] Nuovo progetto community locale Joomla 18
G nuovo Presentati al Forum 1
C Nuovo arrivato Presentati al Forum 1
A Nuovo arrivato Presentati al Forum 0
P Nuovo del forum Presentati al Forum 0
S Nuovo Presentati al Forum 1
L Nuovo utente Presentati al Forum 0
L ciao sono liloeconnie e sono nuovo in questo forum Presentati al Forum 0
M Nuovo Utente Presentati al Forum 0
Robpagna Nuovo utente Presentati al Forum 2
N Ciao a tutti, sono nuovo Presentati al Forum 1
svtmaster Salve , un saluto a tutti voi sono un nuovo utente . Grazie Presentati al Forum 0
G Sono un nuovo utente questo sito Presentati al Forum 0
T Nuovo sul Forum, Mi presento Presentati al Forum 1
B Nuovo sul forum - mi presento Presentati al Forum 1

Discussioni simili