my.ASPItalia.com
ASP.NET
|
HTML5
|
LINQ e Entity Framework
|
Silverlight
|
Windows Phone
|
.NET Framework
|
Windows 8
|
Libro WP7
|
Libro HTML5
|
Corso HTML5
Iscriviti
Login
Newsletter
Home
Articoli
Script
Notizie
FORUM
Blogs
Media
Tutorials
Corsi
Libri
Eventi
Tags
Tutti i forum
Ricerca
FAQ
Fai una domanda
Problema con le date
in
.NET Framework
>
ASP.NET 2.0
Ultimo messaggio
Artista
il 9 maggio 2008 alle 12:14
83 messaggi
dal 17 giugno 2005
Increbile ma vero,ancora un problema con le date!
Passando in produzione ho scoperto che il server web invia a SQL server il formata della data estesa, generando un errore...
andiamo con ordine:
-l'istruzione sql usata è la seguente:
cmdAggiorna.Parameters.Add(New OleDb.OleDbParameter("@LIDATREGISTRAZIONE", OleDb.OleDbType.Date, 8, ParameterDirection.Input, True, Precisione23, Scala3, "LIDATREGISTRAZIONE", DataRowVersion.Original, DataRegistrazione.ToString("yyyy/MM/dd HH:mm:ss")))
quindi IMPONGO il formato
-nel web config ho aggiunto il tag:
<globalization requestEncoding="utf-8" responseEncoding="utf-8" culture="it-IT" uiCulture="it-IT"/>
..passiamo al SERVER
-il regional settings è impostata in Italiano ed è IDENTICO a quello del server di sviluppo,dove non si presenta il problema..
usando Query Analazeir ho visto che nella frase sql la data viene passata in formata estea ( 8 magg 2008 per esempio)...
Dove si OBBLIGA il server ad utilizzare il formato di data breve???
Rispondi
Quoting
andrewz
il 9 maggio 2008 alle 12:32
3.112 messaggi
dal 29 ottobre 2001
Contributi
ciclismo.sitiasp.it
|
Blog
Non fare alcuna conversione alla data che invii al server. E' non solo inutile, è anche dannoso!
Scrivi:
cmdAggiorna.Parameters.Add(New OleDb.OleDbParameter("@LIDATREGISTRAZIONE", OleDb.OleDbType.Date, 8, ParameterDirection.Input, True, Precisione23, Scala3, "LIDATREGISTRAZIONE", DataRowVersion.Original,
DataRegistrazione))
Sql server memorizzerà la data nel formato corretto.
Ciao
.
Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
Rispondi
Quoting
Artista
il 9 maggio 2008 alle 12:38
83 messaggi
dal 17 giugno 2005
ci provo subito!
in realtà io normalmente uso la sintassi:
convert(datetime,'" & Now.tostring("yyyy/MM/dd HH:mm:ss") & "',102)
e non ho mai avuto problemi..ora ho usato i parametri!
Rispondi
Quoting
andrewz
il 9 maggio 2008 alle 12:52
3.112 messaggi
dal 29 ottobre 2001
Contributi
ciclismo.sitiasp.it
|
Blog
Il bello dei parameter è che non ti devi preoccupare più delle varie conversioni perché saranno il framework e sql server a passarsi i parametri in modo corretto indipendentemente dai setting delle culture di uno e dell'altro
Ciao
.
Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
Rispondi
Quoting
Artista
il 9 maggio 2008 alle 12:57
83 messaggi
dal 17 giugno 2005
niente,mi ha scritto ancora la data in formato estesa..
Rispondi
Quoting
andrewz
il 9 maggio 2008 alle 14:06
3.112 messaggi
dal 29 ottobre 2001
Contributi
ciclismo.sitiasp.it
|
Blog
Aspetta, allora forse ho capito male io.
Il proplema è che ti scrive la data con data-time?
Nel db la data è memorizzata nel modo corretto?
Ciao
.
Andrea Zani
Undicesimo comandamento: NON utilizzare Explorer 6
Rispondi
Quoting
Artista
il 9 maggio 2008 alle 15:26
83 messaggi
dal 17 giugno 2005
praticamente eseguebndo l'istruzione di insert con la data specificata con la sintasssi :
cmdAggiorna.Parameters.Add(New OleDb.OleDbParameter("@LIDATREGISTRAZIONE", OleDb.OleDbType.Date, 8, ParameterDirection.Input, True, Precisione23, Scala3, "LIDATREGISTRAZIONE", DataRowVersion.Original, DataRegistrazione))
sul server di sviluppo va bene.
Su quello di produzione mi dava errore.
Nel messagio ho gfatto scrivere a video il valore di tutti i parametri e ho visto che valorizzo bene la datacioè:
09/05/2008 13.18.20
Attivando lo strumento 'SQL Profiler' di SQL Server ho visto che nella istruzione sql compare invece il formato:
'mag 9 2008 1:18:21:000PM'
non ho capito perchè la data viene inviata a SQL server con il formato 'esteso'
PS: server web e server sql coincidono
Rispondi
Quoting
Artista
il 9 maggio 2008 alle 15:58
83 messaggi
dal 17 giugno 2005
fermi tutti!
il troncamento era su un altro cmapo, il trace di sql server mi aveva sviato non so perchè mi mostrava la data in quel formato ma usando il paramameter senza fare conversione sulla variabili datetime funziona tutto..per la serie ' quando usi gli strumenti giusti !' grazie lo stesso scusa se ti ho fatto perdere tempo.
Rispondi
Quoting
Salto rapido
Ultimi messaggi
Tutti i forum
Ricerca
Utenti online
ASP.NET
ASP.NET 2.0
ASP.NET 3.5
ASP.NET 4.0
.NET Framework
Silverlight
Windows Phone
Windows Presentation Foundation e WinForms
Windows Communication e Workflow
ASP - avanzato
ASP - base
SQL Server e MySQL
E-commerce
Hosting
Altri linguaggi e tecnologie
Windows Server, IIS & Security
Libri
OT
Commenti: blogs e notizie
Eventi
Torna al forum
| Feed
RSS
ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.
Community
Effettua il login!
Hai dimenticato la password?
Ultimi messaggi
twain image scanner in sito web
(12)
da php a classic asp
(2)
Problema con script #401 per il ridimensioanmento di immagini
(4)
sessioni asp.net 2.0
(7)
Come intercettare errori dal server e mostrarli in una pagina personalizzata?
(3)
sharepoint
Problema visualizzazione pagine
(1)
UTENTI ONLINE
In primo piano
Annunciate le versioni ufficiali di Visual Studio 11
Rilasciato Visual Studio 11 Beta: scopri tutte le novità!
Windows 8 Consumer Preview: segui con noi la diretta
I più letti di oggi
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Applicazioni Metro con XAML: cosa cambia per lo sviluppatore .NET con Windows 8
Visual Basic 2010
Speciale Forms Authentication di ASP.NET
Silverlight 3.0
Sviluppare applicazioni per Windows Phone
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
ASP.NET 4.0 in C# e VB
Media
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Metro Style App per Windows 8 con HTML e Javascript
Tutti i media
In evidenza
Dal 29 febbraio arriva WinRTItalia.com: tutto sullo sviluppo per Windows 8 e Metro
Sviluppare applicazioni web mobile con HTML5 e jQuery mobile
Disegnare un'applicazione a servizi con Entity Framework e WCF
Il nuovo tag time in HTML5
Salvare e leggere rapidamente le impostazioni di un'applicazione Windows Phone
Metro Style App per Windows 8 con HTML e Javascript
Aggiungere un handler globale per le chiamate AJAX di ASP.NET MVC
Annunciate le versioni ufficiali di Visual Studio 11
MISC
I nostri autori
Collabora con noi!
Media Kit - Pubblicità sul nostro network