Visualizzazione dei risultati da 1 a 7 su 7

Discussione: recordcount e access

  1. #1

    recordcount e access

    Ciao a tutti,
    sto usando il comando recordcount per sapere il numero di record presenti all'interno di un db;
    la sintassi è questa:
    codice:
    Response.Write(rst.recordcount)
    il problema è che qualsiasi numero di record effettivi ci sia sul db mi da come valore sempre -1

    Come mai?
    Cosa sto sbagliando?

  2. #2
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    il cursore deve essere dinamico.. esempio:
    rs.open sql,co,1,3
    .. se nonricordo male!
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  3. #3
    Risolto, sbagliavo una cosa nella connessione.


  4. #4
    Esatto, ho messo per 3, 3 ... di preciso non sò a cosa serve però avevo letto che bisognava fare così!
    Mi sai dare spiegazione.
    Grazie.

  5. #5
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    succede questo:
    RecordCount restituisce -1 quando si utilizza un puntatore forward only.
    Il puntatore forward-only offre prestazioni migliori di uno scorrevole, ma nel caso di un conteggio... tutto andrebbe a discapito della chiarezza del codice visto che dovresti usare una variabile per conteggiare e un ciclo for.
    In pratica con un puntatore statico si crea un db temporaneo che non viene aggiornato dal puntatore, mentre il puntatore dinamico esegue interrogazioni ripetute per determinare le nuove righe. In pratica subisce l'influenza di tutte le manipolazione (update, delete e insert) se fatte nel momento... ma poi ci sono altri fattori ..
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

  6. #6
    e in caso di puntatore forward only qual'è il metodo migliore per sapere quanti record contiene un recordset ?

  7. #7
    Utente di HTML.it L'avatar di kluster
    Registrato dal
    Jul 2003
    Messaggi
    1,288
    nella select usi un Count(CAMPO)

    oppure (questo lo uso di tanto in tanto ed ha il vantaggio di alleggerire l'accesso al Db)
    ArrayRs = Rs.GetRows
    TotaleRecord = UBound(ArrayRs, 2) + 1
    'A questo punto puoi distruggere pure il recordset e scorrere l'array

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.