Newsgroup: it.comp.lang.delphi
Titolo: Elemento "Data" dbAware

Ciao a tutti!
Ho di nuovo una domanda che tormenta la mia mente un pò insicura nella
conoscenza del Delphi :
Esite un componente funzionante Db-Aware per la data? Esiste
TDateTimePicker (senza collegamento al DB) e sul web ho trovato molti
siti che presentavano un componente dbAware chiamato TDBDateTimePicker,
ma non funziona! Almeno a me...
Un'altra domanda : io venendo da java, sono abituato a scrivere le date
rigorosamente come long rappresentante i millisecondi del
timestamp...in Delphi quale è la via migliore? Io nel database della
mia applicazione ho i campi data come "bigint" : è compatibile con
l'usuale trattamento delle dati del Delphi?

 l'usuale trattamento delle dati del Delphi?
E' sempre sbagliato non utilizzare il tipo predefinito offerto dal
database specifico, quindi "bigint" non va bene né con Java, né con Delphi.
-- 
questo articolo e` stato inviato via web dal servizio gratuito 
http://www.newsland.it/news
 segnala gli abusi ad 
ab...@newsland.it

 database specifico, quindi "bigint" non va bene né con Java, né con Delphi.
Ho impostato il campo su "data" (di Postgres) come hai detto tu, ma il
componente non funziona...strano! Sembrava un componente molto
utlizzato e diffuso...

 utlizzato e diffuso...
Il problema non è evidentemente nel componente.


> Il problema non è evidentemente nel componente.
Infatti, è per la mia poca esperienza nell'uso del delphi che chiedo
consiglio e lumi in questo gruppo...sicuramente il componente è
programmato correttamente...
Pensavo fosse sufficiente collegare il componente al campo che esso
influenza per farlo funzionanare : evidentemente no...

 ha scritto nel messaggio 
news:1168955068....@51g2000cwl.googlegroups.com...

In realtà è così che funziona...
E' aperto il DB ?
E' collegato il DataSource ?
Usi campi persistenti ?
Oltre che dire "non mi funziona" sai dare qualche indicazione in più ?
Saluti
C. 

 influenza per farlo funzionanare : evidentemente no...
Se con questo intendi che stai usando un componente db-aware di tipo date
time picker e hai collegato la sua proprietà datasource ad un datasource
che punta a un dataset e questo dataset è aperto, allora basta questo
perché il tutto funzioni.


più su cosa stai facendo
Hai ragione: ho omesso i dettagli della mia implementazione...ho un
database postgres 8.2 su cui sto lavorando con i vari componenti
DB-aware appoggiati alle librerie Zeos per l'accesso al DB : quindi una
connessione (TZConnection), una Query (TZQuery) e un DataSource
(TDataSource)...immagino che il funzionamento del componente sia
indipendente dall'implementazione della connessione o della query :
infatti esso, come anche voi mi avete confermato, si appoggia ad un
DataSet...che è dello stesso tipo di quello usato nell'accesso
dbExpress...è forse qui dove pecca il mio ragionamento?

 dbExpress...è forse qui dove pecca il mio ragionamento?
No, ma il dataset, con dbExpress, è un TSQLQuery, di norma. Qui stai
usando un TZQuery. In ogni caso, il problema non è qui.
Quando dici "non mi funziona", che intendi esattamente ? 
Selezioni un valore da questo "TDBDateTimePicker" e non viene impostato
nel campo corrispondente?


 nel campo corrispondente?
Esattamente succede che il componente appare correttamente ed è
possibile anche aprire la finestra dove appare il calendario per la
scelta del giorno : ma una volta effettuata la scelta il valore nel
database non cambia...e nemmeno forzando un valore all'interno del
database stesso questo viene visualizzato nel picker, come se esso
fosse "scollegato" dal campo...

fosse "scollegato" dal campo...
Che componente è ? dove lo hai scaricato?

Grazie a tutti, mi avete aiutato veramente!
Ho scaricato e provato altri componenti e ora funziona tutto...
Dato che potrebbe essere aiuto ad altri in futuro elenco i link dove ho
trovato materiale utile :
http://cc.codegear.com/Item.aspx?ID=24016
http://www.delphi32.com/vcl/3430/
http://delphi.about.com/od/vclwriteenhance/l/aa042004a.htm