28 messaggi dal 02 marzo 2006
si vero , sai cosa è la forza dll' abitudine di fare le cose + semplici e banali possibili.Probabilmente il mio sistema è banale e semplice da capire , il tuo + professionale.
Ma dimmi una cosa , con

SELECT COUNT(CampoId) AS TotaleRecord FROM MiaTabella

non si basa sul campo id vero ? sennò se fosse cancellato un record si creerebbe un buco.

saluti
illaico ha scritto:
Devo passare, in una pagina dinamica asp, tramite un form un segnalibiri...


Scusa ma che attinenza ha la tua domanda con l'oggetto di questa discussione ("Problemi con COUNT")?

Matteo Casati
GURU4.net
Per illaico:
essendo nuovo del forum ti consiglio di creare una nuova discussione e non accodarti semplicemente all'ultimo thread quando, come dice m.casati non c'è attinenza con l'oggetto della discussione.

Alberto Biancardo
mikyweb79 ha scritto:
si vero , sai cosa è la forza dll' abitudine di fare le cose + semplici e banali possibili.


...che è l'approccio corretto, secondo il vecchio acronimo "KISS!" (che non sta per "bacio" ma per "keep it simple, stupid!")

e come diceva Einstein: "everything should be made as simple as possible, but no simpler"

Probabilmente il mio sistema è banale e semplice da capire , il tuo + professionale.


Non credo sia tanto un problema di semplicità vs. professionalità. Alla fine è la stessa identica cosa (internamente il db engine fa più o meno la stessa operazione) solo viene cambiato il destinatario dell'onere della computazione dei record. Probabilmente SQL Server lo sa fare meglio di ADO + VBScript. Tutto qui.


Ma dimmi una cosa , con

SELECT COUNT(CampoId) AS TotaleRecord FROM MiaTabella

non si basa sul campo id vero ? sennò se fosse cancellato un record si creerebbe un buco.


Immagino tu intenda se mi vado a leggere l'ultimo ID. La risposta è ASSOLUTAMENTE NO! L'ultimo id è dato da:

SELECT MAX(CampoId) AS LastId FROM MiaTabella


E chiaramente non può e non deve essere scambiato per il conto dei record. Oltre al motivo che dicevi tu (record cancellati) ce ne sono altri, ad esempio: non è detto che l'autoincrement parta da 1 e che lo step di incremento sia unitario.

Come precisato in precedenza "CampoId" indica una chiave primaria (indicizzata) per migliorare le performance dell'operazione, non necessariamente un ID autoincrementante (che non è detto che ci sia!)

L'operatore COUNT di sql "conta" i record effettivi presenti in una tabella. Per maggiori informazioni:

COUNT - Transact-SQL Reference

Matteo Casati
GURU4.net

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.