Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    3,072

    Problema con data inizio e data fine

    Ciao, ho un problema con la gestione di una data

    ho una tabella che contiene un campo DataSpedizione di tipo datetime

    esempio di valore contenuto 2010-02-19 00:00:00


    ho poi una query che dovrebbe ritornarmi le spedizioni... dopo un po' di problemi con i vari range, tempo fa, ero giunta ad una conclusione (un po' contorta) che però sembrava funzionare correttamente

    oggi mi sono accorta che mettendo come range

    01/12/2010 e 31/12/2010
    vedo zero records

    facendo invece
    01/12/2010 e 30/12/2010
    devo records



    Ho fatto un po' di casino, mi aiutate e fare pulizia?


    string DaMese = String.Format("{0:00}", tbRicercaDataDa.Date.Month);
    string AMese = String.Format("{0:00}", tbRicercaDataA.Date.AddDays(1).Month);
    string DaGiorno = String.Format("{0:00}", tbRicercaDataDa.Date.Day);
    string AGiorno = String.Format("{0:00}", tbRicercaDataA.Date.AddDays(1).Day);

    string Da = tbRicercaDataDa.Date.Year.ToString() + DaMese.ToString() + DaGiorno.ToString();
    string A = tbRicercaDataA.Date.Year.ToString() + AMese.ToString() + AGiorno.ToString();



    e poi nella query:


    bla bla bla WHERE dataSpedizione >= " + DataInizio + " AND dataSpedizione < " + DataFine + "

    Grazie

  2. #2
    Utente di HTML.it L'avatar di rsdpzed
    Registrato dal
    Aug 2001
    Messaggi
    764
    non hai postato tutto il codice ma vado a intuito.
    Se dalla data 31/12/2010 prendi la componente year (2010) poi prendi la componente mese del date time del giorno dopo (01/01/2011) finisce che la DataA, cioè quella piu avanzata sarà 01/01/2010.
    Hai due opzioni:
    -O cambi la query sql e invece di < dataAungiornoavanti la fai diventare <= dataA
    -O il giorno avanti lo fai a monte e cioè prima di prendere le varie stringhe, compreso l'anno che sicuramente lo prendi prima:

    DateA = DateA.AddDays(1);
    string anno = DateA.Years
    string mese = DateA.Mounth
    ecc.ecc.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.