PDA

Visualizza la versione completa : [delphi]: impedire "elimina" a dataset vuoto


schumi83
27-09-2002, 21:05
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

if adotable1.recordcount<1 then speedbutton1.enabled:=true
ma il tasto resta sempre disattivato...:(

alka
27-09-2002, 23:39
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! :ciauz:

elevation
28-09-2002, 11:25
grazie mille!!! Ho utilizzato EOF e BOF...:D ...funziona!!!

ciao!

P.S ti ho mandato un msg privato...

Loading