Newsgroup: it.comp.www.asp
Titolo: SELECT COUNT (help)

Salve a tutti, ho bisogno dell'aiuto di qualcuno.... sapreste dirmi dove
sbaglio?
Devo contare i record totali e parziali di un DB acces, facile, direte voi,
ed in effetti lo dovrebbe essere!!!!!
Solo che mi da questo errore:
ADODB.Recordset error '800a0cc1'
Item cannot be found in the collection corresponding to the requested name
or ordinal.
/test/tips&triks.asp, line 60
il codice ve lo metto qui di seguito, č in JScript, credo sia corretto, non
riesco a trovare l'errore (forse per mia inesperienza).
Magari manca qualcosa che io non so fare, sta di fatto che non so + dove
sbattere la testa!!!
<%
conn = new ActiveXObject("ADODB.Connection");
%>
<!--#include file="db.asp"-->
<%
conn.Open(sdc);
totale = conn.Execute("SELECT COUNT(*) AS tot FROM art");
//win = conn.Execute("SELECT COUNT(*) AS win FROM art WHERE cat =
'Windows'");
//js = conn.Execute("SELECT COUNT(*) AS jscript FROM art WHERE cat =
'JavaScript'");
//j = conn.Execute("SELECT COUNT(*) AS java FROM art WHERE cat = 'java'");
//asp = conn.Execute("SELECT COUNT(*) AS asp FROM art WHERE cat = 'asp'");
//perl = conn.Execute("SELECT COUNT(*) AS perl FROM art WHERE cat =
'perl'");
//php = conn.Execute("SELECT COUNT(*) AS php FROM art WHERE cat = 'php'");
//cpp = conn.Execute("SELECT COUNT(*) AS cpp FROM art WHERE cat = 'c++'");
//vc = conn.Execute("SELECT COUNT(*) AS vc FROM art WHERE cat = 'c#'");
//jsp = conn.Execute("SELECT COUNT(*) AS jsp FROM art WHERE cat =
'JavaScript'");
//html = conn.Execute("SELECT COUNT(*) AS html FROM art WHERE cat =
'html'");
conn.Close();
%>
//questa č la riga 60, quella dell'errore. Se la commento l'errore si sposta
alla riga 61, poi alla 62 e cosě via!
Ci sono <%=totale("tot")%> articoli tra tutte le categorie.<br><br>
Windows (<%=win("win")%>) <br>
JavaScript (<%=js("jscript")%>) <br>
Java (<%=j("java")%>) <br>
asp (<%=asp("asp")%>) <br>
perl (<%=perl("perl")%>) <br>
php (<%=php("php")%>) <br>
c++ (<%=cpp("cpp")%>) <br>
c# (<%=vc("vc")%>) <br>
jsp (<%=jsp("jsp")%>) <br>
html(<%=html("html")%>)
Vi ringrazio in anticipo per l'aiuto!!

 conn.Open(sdc);
Questa riga:
totale = conn.Execute("SELECT COUNT(*) AS tot FROM art");
riscrivila:
set totale = conn.Execute("SELECT COUNT(*) AS tot FROM art");
Ciao
--
AZ

 Ci sono <%=totale("tot")%> articoli tra tutte le categorie.<br><br>
Ti basta correggere la riga con <% =totale %>
Personalmente ti consiglio visto che sono tutte query uguali di utilizzare
questo una query di raggruppamento, prova ad immaginare se le categorie
fossero 820, che fai scrivi tutte le query una ad una?
totale=conn.Execute("SELECT COUNT(*) FROM ART")
Set Rs=Server.CreateObject("ADODB.Recordset")
Rs.Open "SELECT CAT, COUNT(*) FROM ART GROUP BY CAT",Conn
do until Rs.Eof
    response.write Rs.Fields(0) & " - " & Rs.Fields(1) 'scrivi Rs.Fields(0)
= nome categoria e Rs.Fields(1) totale categoria
    Rs.Movenext
loop
Set Rs=nothing
--
ITHost (your host company)
Technical Manager
C. Paparelli (MCSE,MCSD,MCDBA)
http://www.ithost.ch

 Grazie a tutti e 2,
 ho risolto da me il problema. Era più semplice di quello che ci si
 aspettava, ho solo chiuso la connessione "conn.Close()"  prima di stampare
a
 video i risultati... di conseguenza mi diceva che non trovava nulla!!!
 beh... sono stato 2 giorni a fissare quel codice alla ricerca dell' errore
e
 non lo trovavo, dite che è grave? ;-)))
 ciao
 PS: x ITHOST, grazie per il suggerimento, mi sa che proverò con il tuo
metodo, forse riesco a rendere + "gestibile" il codice ^_*

  non lo trovavo, dite che č grave? ;-)))
direi di si, ma e' anche grave l'errore da te commesso... in un ambiente
piu' solido com 
asp.net
 l'errore lo trovavi subulto...:-))
--
Lino Mari [mod - it.economia.e-commerce]
http://www.ebow.it
 - e-business on web!
http://www.dev2dev.it
 - La rete ha connesso nuove particelle - d2D004
Alle aziende tradizionali le conversazioni online possono sembrare
confuse. Ma ci stiamo organizzando piů rapidamente di loro. Abbiamo
strumenti migliori, piů idee nuove, nessuna regola che ci rallenti.