Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [mssql] formato date

  1. #1

    [mssql] formato date

    Salve a tutti, ho un problema con le date da inserire in un db mssql server. Il problema sorge nella parte di codice:
    codice:
    DateTime.Now.ToString("dd/MM/yyyy")
    Perchè sul mio computer va bene così, su un altro devo invertire i giorni con i mesi altrimenti ricevo un errore (ovviamente se inverto i giorni con i mesi sul mio computer ottengo ancora un errore... ).
    Come è possibile inserire la data nel formato corretto in un database MSSQLServer?
    ciao e grazie

  2. #2
    Sql server accetta le date solo nei formati: aaaammgg oppure aaaa-mm-gg.

    perciò per inserire ti fai una funzione che ti converte la data gg/mm/aaaa in uno di quei 2 formati.

    Poi teoricamente ti puoi fare la funzione inversa cioè da aaaa-mm-gg ricavi gg/mm/aaaa


    MySql è uguale però io ho risolto mettendo nel global.asax il
    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
    Session.LCID = 1040
    End Sub

    e nel web.config questo:
    <!-- GLOBALIZATION
    This section sets the globalization settings of the application.
    -->
    <globalization culture="IT-it"
    requestEncoding="latin9"
    responseEncoding="latin9"
    />

  3. #3
    Originariamente inviato da Daniele80
    Sql server accetta le date solo nei formati: aaaammgg oppure aaaa-mm-gg.

    perciò per inserire ti fai una funzione che ti converte la data gg/mm/aaaa in uno di quei 2 formati.

    Poi teoricamente ti puoi fare la funzione inversa cioè da aaaa-mm-gg ricavi gg/mm/aaaa


    MySql è uguale però io ho risolto mettendo nel global.asax il
    Sub Session_Start(ByVal sender As Object, ByVal e As EventArgs)
    Session.LCID = 1040
    End Sub

    e nel web.config questo:
    <!-- GLOBALIZATION
    This section sets the globalization settings of the application.
    -->
    <globalization culture="IT-it"
    requestEncoding="latin9"
    responseEncoding="latin9"
    />
    Veramente a me accetta i formati gg/mm/yyyy e mm/gg/yyyy rispettivamente sui 2 computer, mentre se provo a inserire la data nel formato aaaa-mm-gg ottengo un errore...

    Con il codice che hai scritto tu cosa setto?

  4. #4
    Utente di HTML.it L'avatar di nicki
    Registrato dal
    Dec 2000
    Messaggi
    139
    Con quello di cui sopra setti il culture info.
    Se il tuo s.o. é in italiano le date le hai nel formato:
    gg/mm/aaaa , se il server ha s.o. in inglese le date sono nel formato mm/gg/aaaa .
    Quindi se nel web.config poni Culture = it-IT allora tutto il tuo applicativo prende in considerazione la cultura italiana e non quella del s.o.
    Ciao, nic.

  5. #5
    Originariamente inviato da nicki
    Con quello di cui sopra setti il culture info.
    Se il tuo s.o. é in italiano le date le hai nel formato:
    gg/mm/aaaa , se il server ha s.o. in inglese le date sono nel formato mm/gg/aaaa .
    Quindi se nel web.config poni Culture = it-IT allora tutto il tuo applicativo prende in considerazione la cultura italiana e non quella del s.o.
    Si ma questo influenza anche MSSQLServer o solo l'applicazione ASP.NET? Perchè il mio problema è il server...

  6. #6
    Utente di HTML.it L'avatar di biste
    Registrato dal
    Apr 2001
    Messaggi
    877
    Originariamente inviato da Daniele80
    Sql server accetta le date solo nei formati: aaaammgg oppure aaaa-mm-gg.

    perciò per inserire ti fai una funzione che ti converte la data gg/mm/aaaa in uno di quei 2 formati.

    [cut]
    Non mi risulta... Con una corretta configurazione della culture puoi risolvere i problemi sia lato Web App sia lato DB Server.
    Se la tua applicazione deve gestire soltanto la culture italiana la cosa è abbastanza semplice in quanto devi modificare per quanto riguarda la web app il tag globalization nel web.config così come ti è stato suggerito più sopra; su Sql Server invece devi impostare la lingua dell'utente che usi per accedere al DB (quello che usi nella stringa di connessione) a Italian. Per farlo puoi utilizzare Enterprise Manager andando nella cartella protezione e gestione utenti oppure utilizzando la stored procedure di sistema sp_defaultlanguage

    HTH
    UGIdotNET
    Microsoft .NET MCAD
    C++, C#, VB6, VB.NET, ASP, ASP.NET
    SQL Server 2000

  7. #7
    Originariamente inviato da biste
    su Sql Server invece devi impostare la lingua dell'utente che usi per accedere al DB (quello che usi nella stringa di connessione) a Italian. Per farlo puoi utilizzare Enterprise Manager andando nella cartella protezione e gestione utenti oppure utilizzando la stored procedure di sistema sp_defaultlanguage

    HTH
    E' questo il problema. Non posso settare il tipo di data sul server. Per questo mi servirebbe un formato universale. Sul mio computer se provo ad inserire la data in formato "yyyy-MM-dd" ricevo l'errore quando ASP.NET tenta di convertire il formato string in formato date.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.