Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    [delphi]: impedire "elimina" a dataset vuoto

    ciao a tutti,
    sapete per caso come disattivare un pulsante a cui è associata l'action di elimazione di un record se il dataset è vuoto??? In pratica se la dbgrid non contiene alcun record il pulsante (speedbutton1) deve essere disattivato. Ho già provato ad aggiungere la condizione
    codice:
    if adotable1.recordcount<1 then speedbutton1.enabled:=true
    ma il tasto resta sempre disattivato...
    Maurizio Manna
    www.f1grandprix.it
    News, foto, storia, cifre, chat, forum, wallpaper, screen saver e altro ancora sulla Ferrari e la Formula 1

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,480

    Bof + Eof

    Non ti consiglio di usare la proprietà RecordCount, poichè dà risultati diversi a seconda di come viene utilizzata, a seconda del provider OLE DB attraverso il quale si accede alla base dati, ecc.

    A volte la proprietà RecordCount viene inizializzata correttamente solo navigando fino all'ultimo record e, successivamente, indietro fino al primo; si tratta comunque di una condizione che può comportare errori.

    Il metodo più corretto (disponibile genericamente in tutti i linguaggi di programmazione in cui è presente un DataSet) è quello di testare il valore delle proprietà Bof e Eof, che valgono True se rispettivamente ci si trova all'inizio o alla fine del file. Se dobbiamo ancora leggere un record dopo aver aperto il DataSet, Bof vale True; se abbiamo appena letto l'ultimo record della tabella, il nostro cursore si trova alla fine del file, quindi Eof vale True. Quando entrambi valgono True, significa che non sono presenti record nella tabella.

    Nel caso specifico dei dataset in Delphi, esiste anche una proprietà, IsEmpty, che indica se una tabella è vuota.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    grazie mille!!! Ho utilizzato EOF e BOF... ...funziona!!!

    ciao!

    P.S ti ho mandato un msg privato...
    "Ogni artista è un cannibale, ogni poeta è un ladro
    tutti uccidono la loro ispirazione poi cantano del loro dolore "

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 © 2026 vBulletin Solutions, Inc. All rights reserved.