3 messaggi dal 14 maggio 2004
Scusate se posto questa richiesta di aiuto banale.
Ho bisogno di contare il numero di record che compongono una tabella del mio database e per farlo pensavo di utilizzare la funzione COUNT.
Potete innanzitutto dirmi se la sintassi che vi propongo è giusta?

Dim conta
Set conta = Server.CreateObject("ADODB.RecordSet")
conta.execute "SELECT COUNT(*) FROM tabella"

ammesso (e non concesso) che le righe che ho scritto sopra siano giuste, il mio problema è: come faccio a trasformare il risultato della "conta" in un variabile che possa riutilizzare??

Spero di aver chiarito quale è il mio dubbio e vi ringrazio se potete aiutarmi ad uscire dall'impasse.

Ciao

Domenico
Prova questo:

Dim cn, rs, sql, tot
sql = "SELECT COUNT(CampoId) AS TotaleRecord FROM MiaTabella"
Set cn = Server.CreateObject("ADODB.Connection")
cn.Open("... stringa di connessione ...")
Set rs = cn.Execute(sql)
tot = rs("TotaleRecord")
rs.Close
cn.Close
Set rs = Nothing
Set cn = Nothing


Sono andato a memoria (ed è da qualche anno che non uso VBScript...) per cui ci potrebbero essere degli errori.

Nota che non ho usato "COUNT(*)" ma "COUNT(CampoId)" (dove ovviamente CampoID è l'ID o comunque la primary key della tabella) perché è inutile caricare tutta la tabella solo per contare i record presenti.

Spero di esserti stato utile.
Ciao

Matteo Casati
GURU4.net
28 messaggi dal 02 marzo 2006
io farei un banalissimo ciclo

Set ObjConn_contatoreutenti = Server.CreateObject("ADODB.Connection")
Set ObjRs_contatoreutenti = server.CreateObject("ADODB.Recordset")
ObjConn_contatoreutenti.open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("/database/database.mdb")


dim strSql_contatoreutenti
strSql_contatoreutenti = "SELECT * FROM questionario "
Set ObjRs_contatoreutenti = ObjConn_contatoreutenti.execute(strSql_contatoreutenti)

Do Until ObjRs_contatoreutenti.eof
contatoreutenti = contatoreutenti +1
ObjRs_contatoreutenti.moveNext
Loop
3 messaggi dal 14 maggio 2004
Funzionano!!!

Grazie a tutti!

Ciao
Domenico
mikyweb79 ha scritto:
io farei un banalissimo ciclo


Io non lo farei (specie usando "SELECT *..."!): perché caricare in memoria (recordset) tutta una tabella quando il database è in grado di eseguire l'operazione in modo decisamente più performante restituendo un bel numerino?

Matteo Casati
GURU4.net
4 messaggi dal 04 settembre 2006
ciao a tutti,

sono nuovo del forum e mi accodo a questa discussione perche' io avrei un problema analogo da risolvere anche se il mio credo sia un tantino piu' complesso.
Infatti cio' che serve a me e' contare i record totali di un database diviso in molte tabelle, sapete spiegarmi come fare???

Non ditemi che devo calcolarmi i record delle singole tabelle e fare poi la somma perche' le tabelle sono tante e scrivere codice per ogni tabella non mi sembra molto opportuno.

grazie a tutti per l'attenzione
4 messaggi dal 17 novembre 2005
Devo passare, in una pagina dinamica asp, tramite un form un segnalibiri, ho trovato in vari modi, ma purtroppo il cancellto "#" viene trasformato con il carattere "%20" e quindi non viene più riconosciuto come segnalibro. Mi potete aiutare, c'è un modo per evitare che venga convertito solo il carattere #

Grazie

Ps: come mai alcuni messaggi anche se in formato testo, non vengono visualizzati e si perdono nel limbo informatico?
4 messaggi dal 04 settembre 2006
ragazzi ho provato a scrivere il seguente cosice ma non va:

<%
Dim tot, Cnt
Set conn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
openCN
conn.Open "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & server.MapPath("/public/database.mdb")
sql = "SELECT SUM (Cnt) FROM
(
SELECT Count(SbaNumber) As Cnt FROM cuffie
UNION
SELECT Count(SBANumber) as Cnt FROM bose
)"
Set rs = conn.Execute(sql)
tot = rs("Cnt")
rs.Close
conn.Close
Set rs = Nothing
Set conn = Nothing
%>
<%=tot%>

suggerimenti?

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.