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?
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?