28 messaggi dal 24 marzo 2001
Questo è il listato che ho immesso secondo le tue istruzioni ma devo aver sbagliato da qualche parte perchè mi viene segnalato il messaggio "Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero di riferimento richiesto dall'applicazione". La riga incriminata è "Response.Write objRS("ID").

<%@ Language=VBScript %>
<% Option Explicit %>
<!--#include file="adovbs.inc"-->

'Il seguente include si riferisce alla connessione con il database (che è corretta:funziona con altri listati)

<!--#include file="dbConn.asp"-->

'Ridimensiono e assegno il valore alla variabile relativa al querystring come giè fatto nella pagina precedente (non so se sia necessario)
<%
Dim strUtente
strUtente=Request.Querystring("userid")
%>

'Creo una variabile per l'istruzione SQL

<%
Dim strSQL
strSQL="SELECT MAX(ID)from Utenti where userid = '"& Request.Querystring("userid")&"'"

'Creo un'istanza dell'oggetto Recordset ed eseguo l'istruzione SQL

Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn

'Visualizzo l'ID con il valore più elevato durante la stessa sessione dell'utente

Do While Not objRS.EOF
Response.Write objRS("ID")
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
objConn.Close
Set objRS = Nothing
%>

Riesci, per caso, a comprendere dove ho sbagliato? Per favore dà anche un'occhiata alla sintassi. Ti ringrazio ancora e saluto.
coleporter

coleporter

coleporter
1.605 messaggi dal 06 settembre 2002
<b>coleporter_3000 ha scritto:</b>
<BLOCKQUOTE id=quote><font size=1 face="Arial" id=quote>quote:<hr height=1 noshade id=quote>
Questo è il listato che ho immesso secondo le tue istruzioni ma devo aver sbagliato da qualche parte perchè mi viene segnalato il messaggio "Impossibile trovare l'oggetto nell'insieme corrispondente al nome o al numero di riferimento richiesto dall'applicazione". La riga incriminata è "Response.Write objRS("ID").

&lt;%@ Language=VBScript %&gt;
&lt;% Option Explicit %&gt;
&lt;!--#include file="adovbs.inc"--&gt;

'Il seguente include si riferisce alla connessione con il database (che è corretta:funziona con altri listati)

&lt;!--#include file="dbConn.asp"--&gt;

'Ridimensiono e assegno il valore alla variabile relativa al querystring come giè fatto nella pagina precedente (non so se sia necessario)
&lt;%
Dim strUtente
strUtente=Request.Querystring("userid")
%&gt;

'Creo una variabile per l'istruzione SQL

&lt;%
Dim strSQL
strSQL="SELECT MAX(ID)from Utenti where userid = '"& Request.Querystring("userid")&"'"

'Creo un'istanza dell'oggetto Recordset ed eseguo l'istruzione SQL

Dim objRS
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open strSQL, objConn

'Visualizzo l'ID con il valore più elevato durante la stessa sessione dell'utente

Do While Not objRS.EOF
Response.Write objRS("ID")
objRS.MoveNext
Loop
objRS.Close
Set objRS = Nothing
objConn.Close
Set objRS = Nothing
%&gt;

Riesci, per caso, a comprendere dove ho sbagliato? Per favore dà anche un'occhiata alla sintassi. Ti ringrazio ancora e saluto.
coleporter

coleporter
<hr height=1 noshade id=quote></BLOCKQUOTE id=quote></font id=quote><font face="Arial" size=2 id=quote>



------------------------------
scusa mi ero dimenticato di dirti una cosa
quando fai una select dove un campo è rappresentato da una formula(Max(),summ()...)
per poi poter rileggere il valore restituito dalla formula
con l'ogetto recordset(objRS("ID")) bisognia
utilizzare un così detto alias(soprannome)
perche altrimenri il recordset non può capire che quando tù gli chiedi objRS("ID")
ti riferisci al risultato della funzione
MAX(ID) che per lui è una cosa diversa

quindi dovresti fare così


strSQL="SELECT MAX(ID) AS MassimoID from Utenti where userid = '"& Request.Querystring("userid")&"'"
.
.
.
.
Do While Not objRS.EOF
Response.Write objRS("MassimoID")


altrimenti potresti accedere al
recordset(l'insieme di informazioni che ti restituisce la select) non per nome
objRS("MassimoID") o objRS("ID") ma per posizione ossia in questo caso objRS("0")

ovvero tu gli stai chiedendo il valore del
primo campo esposto (si parte da zero)

se per esempio tu hai una select di questo tipo "SELECT CampoA,CampoB,CampoC,CampoD from Tabella"

per farti restituire il valore del CampoA
potrai usare sia objRS("CampoA")
che objRS("0")

e se invece volessi sapere il valore
del CampoC potrai usare sia objRS("CampoC")
che objRS("2")

FORZA LA MAGICA ROMA
1.605 messaggi dal 06 settembre 2002
Va Bene così

FORZA LA MAGICA ROMA

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.