Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309

    Come si contano i record estratti da un db?

    Vorrei sapere quanti record sono estratti da un db. Visto che mi sembra di aver capito che non esiste in .net la funzione EOF.

    Il mio codice è:
    codice:
    Dim strSql As String
    
            objConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source='" & Server.MapPath("primoDB.mdb") & "'")
            strSql = "SELECT * FROM provaDB"
            objRs = New OleDbCommand(strSql, objConn)
    
    
            objConn.Open()
    
            risultati.DataSource = objRs.ExecuteReader
    
            risultati.DataBind()
            objConn.Close()
    Ciao By Peter_Pan...

  2. #2
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    La soluzione piu' veloce credo sia fare prima una select count...

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    mi sembra assurdo che debba fare prima una select count, ci deve essere un modo, invece di andare avanti andiamo indietro??
    Ciao By Peter_Pan...

  4. #4
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Beh se guardi le proprieta' di un OleDbDataReader non c'e'RecordCount, ma soltanto FieldCount (che sono le colonne) o RecordsAffected, che non vale per le Select ma solo per le insert, delete o update... (Mi pare che restituisca -1)

  5. #5
    Originariamente inviato da Peter_Pan
    mi sembra assurdo che debba fare prima una select count, ci deve essere un modo, invece di andare avanti andiamo indietro??
    Puoi scorrere il datareader dall'inizio alla fine incrementando una variabile che indichi il numero di righe. es.
    codice:
    while tuodr.read
    i += 1
    end while
    Saluti a tutti
    Riccardo

  6. #6
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    Trovato vi posto il codice è tipo EOF di ASP :
    codice:
    Dim strSql As String
            Dim strnum As Integer
            Dim dr As OleDb.OleDbDataReader
    
            objConn = New OleDbConnection("PROVIDER=Microsoft.Jet.OLEDB.4.0;DATA Source='" & Server.MapPath("primoDB.mdb") & "'")
            strSql = "SELECT * FROM provaDB where nome='ll'"
            objRs = New OleDbCommand(strSql, objConn)
    
            objConn.Open()
    
            dr = objRs.ExecuteReader
            risultati.DataSource = dr
            If dr.HasRows Then
                Label1.Text = "pieno"
            Else
                Label1.Text = "vuoto"
            End If
           
            risultati.DataBind()
            objConn.Close()
    Ciao By Peter_Pan...

  7. #7
    Originariamente inviato da Peter_Pan
    Trovato vi posto il codice è tipo EOF di ASP :

    Nella tua domanda chiedevi come sapere "quanti" record ci sono e nel precedente post ti ho suggerito un modo.
    Il codice che hai trovato e postato non e' granche' perche cosi finisci per utilizzare sempre e comunque il datareader anche se questo e' vuoto. Una soluzione a questo problema te l'ho gia' postata nell'altro thread che avevi (ri)aperto.
    Saluti a tutti
    Riccardo

  8. #8
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    If dr.HasRows Then

    come dice riccardo, questa istruzione non restituisce quanti record hai estratto ma soltanto un booleano che indica se ne hai estratti o meno...

  9. #9
    Utente di HTML.it
    Registrato dal
    Jun 2000
    Messaggi
    1,309
    Forse mi sono espresso male, anche se ho detto che non funzionava il EOF..
    Vorrei sapere quanti record sono estratti da un db. Visto che mi sembra di aver capito che non esiste in .net la funzione EOF .
    Ciao By Peter_Pan...

  10. #10
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Originariamente inviato da Peter_Pan
    Forse mi sono espresso male, anche se ho detto che non funzionava il EOF..


    vabbe', l'importante è che hai risolto.

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.