Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117

    [VB.NET] - Dr.HasRows che non funziona con funzione SQL MAX

    Ciao ragazzi ho un dilemma di quelli senza uscita!

    Io tramite ADO.NET mi collego al mio DB access...

    Ora....eseguo questa stringa SQL:

    codice:
      Dim sql As String = "SELECT MAX(idMovimento) as mioIdMovimento FROM movimenti"
            Dim cmd As New OleDbCommand(sql, Cn)
            Dim dr As OleDbDataReader = cmd.ExecuteReader
            dr.Read()
    Tutto funziona ma solo se nella tabella movimenti c'è almeno un record.

    Ovvero se c'è un recordo ottengo il valore massimo della colonna idMovimento in dr.item("mioIdMovimento").

    Se però non ci sono records mi da Null e ovviamente mi manda tutto in pappa!

    Alchè ho pensato di usare:

    dr.HasRows

    Il problema è che mi da sempre True anche quando non ci sono records nella tabella...

    é normale sta cosa? :S

    Graziieeee

  2. #2
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    devi usare ExecuteScalar invece di ExecuteReader
    http://msdn.microsoft.com/it-it/libr...utescalar.aspx
    I got the remedy

  3. #3
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    Niente
    Anzi così mi si blocca anche prima del read perchè evidentemente rileva che non ci son record da prima!

    Secondo me il problema sta nella funzione MAX di sql. Se infatti faccio eseguo una normale SELECT (Select mioID FROM miaTabella) e non ci son records con HasRows mi restituisce false.

    Invece qui mi da sempre True...anche se poi nella tabella non c'è nulla!

  4. #4
    Utente di HTML.it L'avatar di albgen
    Registrato dal
    Jun 2005
    Messaggi
    3,249
    Leggei bene la documentazione.
    Non devi utilizzare un reader quando esegui una query con ExecuteScalar ma semplicemente fare una assegnazione a un oggetto.
    I got the remedy

  5. #5
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,117
    aaaah forse ho capito! ti faccio sapere grazie!

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.