SQLite e gestione delle date in fase di visualizzazione

martedì 18 marzo 2014 - 20.31
Tag Elenco Tags  VB.NET  |  .NET 4.0  |  Windows XP  |  Visual Studio Express  |  MySQL 5.1  |  Access (.mdb)  |  Firefox

ravalon Profilo | Expert

Salve, ho integrato la gestione di SQLite in un mio progetto e mi trovo ad affrontare un problema con le date ...

So che SQLite gestisce le date o come stringa o come intero....io ho preferito usarle come stringa, nel formato 'YYYY-MM-DD'.

In fase di inserimento tutto ok tranne che per il fatto che il mese mi viene restituito in una sola cifra se davanti c'è lo ZERO (suggerimento in tal senso per correggere questo problema ??) , in fase di visualizzazione vedo la data nello stesso formato in cui l'ho inserita mentre lo stesso codice, utilizzato con MySql, PostgreSQL e Access, mi restituisce automaticamente la data in formato italiano sebbene io la inserisca nel formato 'YYYY-MM-DD' ... su SQLite questo non accade...sapreste dirmi come fare ?

0v3rCl0ck Profilo | Guru

dove visualizzi la data? in che controllo wpf?


Michael Denny
Software Developer & Architect
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
Twitter: @dennymic

ravalon Profilo | Expert

Mi hanno detto sul gruppo di SQLite che è normale in quanto la data su SQLite esiste solo come campo di TESTO o INTERO; io utilizzo il campo TEXT, per cui è normale che mi resistuisca la stringa cosi come è....

...questo lo sapevo anche, quello che non sapevo è che una GridView riuscisse a capire da sola il tipo di campo e nel caso si tratti di una data riuscisse a girarla nel modo opportuno....me lo confermi ?

0v3rCl0ck Profilo | Guru

così su due piedi che io sappia se il campo è String viene visualizzato e basta, dipende che binding fai alla gridview, che tipo di dato è il campo che viene bindato alla colonna, di defatult se non specificato un datatemplate viene fatto .ToString() della proprietà bindata. Se alleghi il codice della gridview possiamo capire qualcosa in più




Michael Denny
Software Developer & Architect
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
Twitter: @dennymic

ravalon Profilo | Expert

Sulla GridView non faccio binding esplicitamente, lo faccio esplicitamente solo sul Binding Source per i controlli che dovranno mostrare i dati estratti....e la GridView pesca poi dal Binding Source (sorgente dati).

Scusami ma sono caduto dalle nuvole proprio perchè non ho mai eseguito nessun controllo esplicito sulla GridView per cui mi sono trovato spiazzato dal comportamento differente che avviene nel mio caso solo su SQLIte piuttosto che MySQL, PostgreSQL, Access, dove invece la data viene correttamente girata in formato italiano senza mio intervento ....forse seguento la culture del pc dove viene eseguito....

0v3rCl0ck Profilo | Guru

>Scusami ma sono caduto dalle nuvole proprio perchè non ho mai
>eseguito nessun controllo esplicito sulla GridView per cui mi
>sono trovato spiazzato dal comportamento differente che avviene
>nel mio caso solo su SQLIte piuttosto che MySQL, PostgreSQL,
>Access, dove invece la data viene correttamente girata in formato
>italiano senza mio intervento ....forse seguento la culture del
>pc dove viene eseguito....

si perchè con mysql / sql, ecc.. il dato ritornato viene convertito in una vera data .net, e quindi quando la gridview esegue il .ToString di quel campo, viene implicitamente convertito nella culture del pc.



Michael Denny
Software Developer & Architect
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
Twitter: @dennymic

ravalon Profilo | Expert

Grazie mille, ora mi è chiaro !

0v3rCl0ck Profilo | Guru

>Grazie mille, ora mi è chiaro !

Di niente, alla prossima


Michael Denny
Software Developer & Architect
http://blogs.dotnethell.it/Regulator/
http://dennymichael.wordpress.com
Twitter: @dennymic
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5