PDA

View Full Version : asp...passare una variabile in un if


SteR9
08-05-2003, 17:46
sto creando uno script in cui avrei bisogno di passare una variabile da un link...ho creato il seg link nella stessa pagina in cui ho lo script lettura.asp?nume=10 poi salvo su una variabile il valore che gli passo dal link num=request.querystring("nume")poi ho inserito un if dentro a un while
if (cont = num) then
exit do
end if
solo che l'if sembra nn funzionare...se creo una variabile di prova e la metto al posto di num nell'if funziona correttamente,invece la variabile passata dal link non ne vuole sapere di funzionare...perchè??c'è qualche provvedimento che dovrei prendere???
grazie

matpez
08-05-2003, 17:54
Siccome in ASP ne variabili sono tutte VARIANT e come tale nn hanno tipo, prova nel tuo if a mettere cosi:


if (cint(cont) = cint(num)) then
exit do
end if

SteR9
08-05-2003, 18:20
Originally posted by "matpez"

Siccome in ASP ne variabili sono tutte VARIANT e come tale nn hanno tipo, prova nel tuo if a mettere cosi:


if (cint(cont) = cint(num)) then
exit do
end if
funziona!perfetto...grazie mille! :D

SteR9
08-05-2003, 20:47
già che ci sono utilizzo questo 3d per chiedere un'altra cosa dovrei scorrere un dbase partendo dal basso...però se metto
objrecordset.movelast
mi da questo errore
Il set di righe non supporta operazioni di recupero all'indietro.
perchè???

cionci
08-05-2003, 20:58
Fammi vedere come hai aperto il recordset...

SteR9
08-05-2003, 21:06
Originally posted by "cionci"

Fammi vedere come hai aperto il recordset...
Set objRecordSet = Server.CreateObject("ADODB.Recordset")
Set objRecordset = objConnessione.Execute("SELECT * FROM tabella")

cionci
09-05-2003, 07:36
Prova ad aprirlo così:

Set objRecordSet = Server.CreateObject("ADODB.Recordset")
objRecordset.Open "SELECT * FROM tabella", objConnessione, 3, 3

SteR9
09-05-2003, 07:49
Originally posted by "cionci"

Prova ad aprirlo così:

Set objRecordSet = Server.CreateObject("ADODB.Recordset")
objRecordset.Open "SELECT * FROM tabella", objConnessione, 3, 3
ho provato così mi ora mi da questo errore

ADODB.Field (0x80020009)
Il record corrente corrisponde all'inizio o alla fine del file oppure è stato eliminato. Per eseguire l'operazione richiesta è necessario disporre di un record corrente.

ccosa non va bene???

cionci
09-05-2003, 07:53
Su quale riga ti da l'errore ? Su MoveLast ?

Prova intanto a visualizzare dal primo e guarda se te funziona...

SteR9
09-05-2003, 07:57
Originally posted by "cionci"

Su quale riga ti da l'errore ? Su MoveLast ?

Prova intanto a visualizzare dal primo e guarda se te funziona...
l'erorre non me lo da su nessuna riga...ti copio lo script

objrecordset.movelast

for cont_ultime = 1 to 10
cont_ultime=cont+1


%><tr><td width="10%"><strong><%=objRecordset.Fields("ID")%></strong></td><td width="36%"><strong><%=objRecordset.Fields("user")%></td><td width="54%"><strong><%=objRecordset.Fields("data_ora")%></td></tr>
<%
objRecordset.Moveprevious
next
%>
li vado a stampare in una tabella...

cionci
09-05-2003, 08:26
A me funziona...

<%
Set objConnessione = Server.CreateObject("ADODB.Connection")
objConnessione.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("database/Authors.mdb")

Set objRecordSet = Server.CreateObject("ADODB.Recordset")
objRecordset.Open "SELECT * FROM authors ORDER BY YearBorn ASC", objConnessione, 3, 3

objrecordset.movelast

for cont_ultime = 1 to 10

%>
<tr>
<TD VAlign=top><% = objRecordset("YearBorn")%></TD>
</tr><%
objRecordset.Moveprevious
next
%>

SteR9
09-05-2003, 09:45
ho risolto utilizzando un while anzichè un for...
grazie