Newsgroup: it.comp.lang.delphi
Titolo: Uso dei controlli DataAware, sono utili?

Ho un dubbio circa l'uso dei controlli DataAware: se ho una form di
inserimento record in una tabella e voglio usare i metodi Append e Post per
l'inserimento si presuppone che i controlli (Edit e altri) siano collegati
ad un DataSet contenente tutti i record della tabella.
E' utile che per inserire un solo record io debba caricare tutti i record in
memoria? (Specialmente se lavoro con grosse tabelle!).
Oppure č meglio non usare controlli DataAware ed usare direttamente delle
query di modifica (INSERT o UPDATE)  anche se cosě devo scrivere molto piů
codice?

 scrivere molto più codice?
Assolumante no anche perchè se sai utilizzare un pò MIDAS ti risparmi
la scrittura delle insert update e delete e ti risparmi anche la gestione
delle
transazioni.
Ci sono scuole di pensiero che affermano che l'utlizzo degli edit sia più
pulito
o leggero.Per me è una follia :))))!!!!! almeno in tutti i software che ho
realizzato
non ne ho mai avuto la  necessità il ClientDataset già ti pone su di un
livello di astrazione
rispetto al db mi sembra inutile reinventarsi delle tecnologie.
ciao
   gabriele

)

 sviluppare in tempi brevissimi un'applicazione decisamente funzionale.
Come sempre sei sempre molto preciso !!
Sono d'accordo con te se il software richiede particolari esigenze si può
valutarne l'utilizzo.
Cmq.. se nelle domande specificassero anche che tipo di applicazioni
devono sviluppare il NG sarebbe in grado di dare un suggerimento più
preciso,
senza andare ogni volta a sbattere in scuole di pensiero diverse con
discussioni
infinite.
ciao
   Gabriele

 ad un DataSet contenente tutti i record della tabella.
Non è propriamente questo il requisito.  Il controllo db-aware deve essere
collegato, per mezzo di un TDataSource, a un componente derivato da
TDataSet che contenga i campi necessari all'inserimento o alla modifica.  
E' irrilevante il numero di record che il dataset contiene.
Tieni presente che, oltre al TClientDataSet che è già stato nominato,
esistono altri componenti (vedi il TIBDataSet appartenente alla suite IBX
di Delphi) che non eseguono il fetch di tutti i record.  Non vanno
estratti tutti i record di una tabella per eseguire l'inserimento, perché,
ai fini dell'inserimento, non è necessario farlo.  Così come non è
necessario estrarre tutti i record per modificarne uno solo.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 sviluppare in tempi brevissimi un'applicazione decisamente funzionale.
I controlli db-aware sono utili quando funzionano bene ;-)  
Quelli standard Delphi hanno funzionato sempre a dovere. Ho visto, però,
che quelli IntraWeb, in certi casi, non funzionano come ci si aspetterebbe
e producono dei casini incredibili.  Abbiamo perso giornate intere nel
cercare di capire che succedeva e alla fine l'unico rimedio è stato
ricorrere alla versione non-db-aware (che quasi sicuramente funziona, tra
l'altro).  Per quanto riguarda gli OPF, credo che siano determinanti in
molti casi, molto più importanti di quello che si potrebbe pensare.  Ad
esempio, conosco almeno un caso in cui l'uso di un buon OPF avrebbe
eliminato problemi legati alla portabilità delle applicazioni (perché
avrebbe incapsulato le funzioni specifiche della piattaforma a livello più
basso) e avrebbe lasciato il programmatore molto più libero di muoversi.


 Quelli standard Delphi hanno funzionato sempre a dovere.
Uhm...in generale sì, anche se qualche "buco" o effetto collaterale ce
l'hanno (come qualsiasi software, del resto).
Ad esempio, la DBGrid - nativamente - gestisce male lo scorrimento
attraverso la rotellina del mouse.
Ad ogni modo - potenza di Delphi :-) - ho ereditato la DBGrid e fatto
l'override dei metodi necessari per creare un controllo "fixato" senza
toccare l'originale Borland (non si sa mai).
Salvo queste imperfezioni più o meno note, in qualche forum qua e là mi
sono imbattuto spesso in sviluppatori che abbandonavano i Data Control
di Delphi per comportamenti ritenuti anormali che invece avevano una
spiegazione ben precisa e comprensibile. :-)


 DBAware oppure di Object Persistence Framework...
Fermo restando che evidentemente devo approfondire meglio l'uso del DBAware,
solo per curiositŕ, cosa sono gli OPF? dove trovo un pň di documentazione?
Grazie a tutti

 documentazione?
Scusa, gli ho menzionati migliaia di volte senza entrare nello
specifico. Si tratta di pacchetti di classe che forniscono una base per
lo sviluppo di un livello di astrazione che consenta di "mappare"
oggetti Delphi (con tutta la comodità che ne consegue) su database,
siano essi server SQL, database basati su file e altro ancora.
Prova a leggere la documentazione di "tiOPF", il framework di
TechInsite:
http://www.techinsite.com.au/tiOPF/
Io non ne ho mai fatto uso, ma ho preso spunto da alcuni concetti
decisamente interessati che vengono descritti nella documentazione.
Ciao!


 attraverso la rotellina del mouse.
La DBGrid, a dire il vero, è uno di quei controlli che mi piace meno.
Avrei gradito che avessero implementato una sorta di ListView db-aware,
che supportasse, quindi, anche gli standard Windows per gli scorrimenti e
la selezione degli elementi.


 scorrimenti e la selezione degli elementi.
Io ci ho provato a creare un discendente "data aware" di TListView, ne
esistono anche in circolazione, ma non sono mai riuscito ad ottenere
prestazioni accettabili di visualizzazione per via dell'estrema
pesantezza del controllo.
Forse è per questo motivo che la Borland non ha mai pensato di fornire
una ListView tra i propri Data Control.
Ciao e buona Pasqua!
