Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2003
    Messaggi
    1,413

    [VB6]metodo del recordset per contare i le righe

    ciao a tutti...
    esiste un metodo dell'oggetto recordset per contare quanti record ha trovato nella tabella???

    grazie

    ale

  2. #2
    recordcount?

  3. #3
    ciao,

    con gli ADO in VB6 spesso (se non sempre)
    il .recordCount dei recordset non funziona ...

    puoi farti una semplice funzione che richiamerai ogni volta che ti serve :

    public function GetNumRecord (myConn, myTab, optional myWhere = "")
    as double

    dim strQry as string
    dim rcSet as ADODB.Recordset

    on error goto myErrHndl

    strQry = "SELECT COUNT(*) FROM " & myTab & " " & myWhere
    set rcSet = new ADODB.Recordset
    rcset.open myConn, strQry
    GetNumRecord = rcSet(0)
    rcset.close
    set rcset = Nothing

    exit function
    myErrHndl:
    GetNumRecord = -1
    end

  4. #4
    simoglia sei sicuro di ciò che dici?
    io so che con DAO è necessario effettuare un .MoveLast e subito dopo un .MoveFirst e che con ADO il problema potrebbe risiedere solo nell'errata specificazione dei cursori e del tipo di lock.

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  5. #5
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Originariamente inviato da simogila
    ciao,

    con gli ADO in VB6 spesso (se non sempre)
    il .recordCount dei recordset non funziona ...

    puoi farti una semplice funzione che richiamerai ogni volta che ti serve :

    public function GetNumRecord (myConn, myTab, optional myWhere = "")
    as double

    dim strQry as string
    dim rcSet as ADODB.Recordset

    on error goto myErrHndl

    strQry = "SELECT COUNT(*) FROM " & myTab & " " & myWhere
    set rcSet = new ADODB.Recordset
    rcset.open myConn, strQry
    GetNumRecord = rcSet(0)
    rcset.close
    set rcset = Nothing

    exit function
    myErrHndl:
    GetNumRecord = -1
    end
    RecordCount dovrebbe funzionare se apri il recordset in questo modo:
    rcset.open strQry,myConn,3,3

    Ovviamente nei parametri prima la stringa sql e poi la connessione!
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  6. #6
    Originariamente inviato da Sypher
    RecordCount dovrebbe funzionare se apri il recordset in questo modo:
    rcset.open myConn, strQry,3,3
    syp... hai messo connessione e stringa sql al contrario
    codice:
    rcset.open strQry, myConn,3,3
    cmq funziona anche così:
    codice:
    rcset.open strQry, myConn, 1, 3

    05.08.2005 - by alka
    Auguri all'angelo custode dei moderatori.

  7. #7
    Utente di HTML.it L'avatar di Sypher
    Registrato dal
    Jun 2003
    Messaggi
    1,994
    Originariamente inviato da ladyBlu
    syp... hai messo connessione e stringa sql al contrario
    codice:
    rcset.open strQry, myConn,3,3
    cmq funziona anche così:
    codice:
    rcset.open strQry, myConn, 1, 3
    Lo stavo modificando...ho copiato quella che aveva scritto simoglia!
    La passera non dura perchè Sypher la cattura!

    "No one like us we don't care, we are millwall, super millwall, we are millwall from the DEN"

  8. #8
    Ciao ladyBlu e Sypher,

    mainSet.Open sql, myConn, adOpenKeyset, adLockOptimistic (3,3)

    mainSet.Open sql, myConn, adOpenStatic, adLockOptimistic (1,3)

    mainSet.Open sql, myConn, adOpenForwardOnly, adLockReadOnly

    ho provato ora per verificare quello che dite ma comunque il recordCount mi restituisce -1 ...
    sia che apro il recordset con (3,3) che con (1,3)

    solitamente li apro nel terzo modo poichè la maggior parte delle volte li devo solo leggere e non modificare !

    forse è la mia versione di ADO, al momento uso la 2.6

    boh :master:

    scusate per aver invertito query e connection ma ho scritto la funzione direttamente nel forum senza aprire progetti per fare copia e incolla ... pigrizia

    gentilmente sapreste spiegare meglio le differenze nei modi di aprire i recordset ?
    grazie
    ciao
    simo

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.