Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179

    Query con date

    Scusate ho un problema di date:

    Access: ha il campo data_inizio_contratto come Data in cifre quindi tipo di dato Data/ora
    naturalmente. 19/06/1994 dovrebbe essere quindi il formato giusto

    Quando vado a richiamare la query:

    codice:
    str_sql = "SELECT canone_attuale,percentuale_istat from contratto WHERE id_contratto = " & IdContratto & " AND data_inizio_contratto = #" & FormatDateTime(data_inizio_contratto, DateFormat.GeneralDate) & "#"
    
    Dr = obj_db.fnzExecuteRead(str_sql)
    
    'str_sql ha il seguente valore:
    
    "SELECT canone_attuale,percentuale_istat from contratto WHERE id_contratto = 1 AND data_inizio_contratto = #04/09/2005#"

    La select non trova nulla
    Provando su Access a scrivere:
    SELECT canone_attuale,percentuale_istat from contratto WHERE id_contratto = 1 AND data_inizio_contratto = #09/04/2005#
    Funziona!!
    Come posso risolvere?
    me la prende mm/dd/yyyy invece che dd/mm/yyyy
    Tony

  2. #2
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    dimenticavo che ovviamente i data_inizio_contratto contiene 04/09/2006 e id_cotratto = 1 quindi è tutto giusto..
    Tony

  3. #3
    access ha la simpatica abitudine di invertire ( quando il giorno è inferiore a 12 ) mese e giorno
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  4. #4
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    noooooooooooooo! VVoVe:
    a volglia a diventa matto...
    Da solo invertisce?

    Come si può gestire??
    Tony

  5. #5
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Forse ho capito devo passare nel formato yyyy/mm/dd invece che dd/mm/yyyy
    Ma anche con altri db va gestito cosi?
    yyyy/mm/dd?
    Tony

  6. #6
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Originariamente inviato da GudFella
    access ha la simpatica abitudine di invertire ( quando il giorno è inferiore a 12 ) mese e giorno
    No credo sia così, inverte semplicemente il giorno col mese, e usa il sistema anglosassone nelle query, mentre l'interfaccia utente è impostato sul sistema che usiamo noi.. Almeno credo ..

  7. #7
    Originariamente inviato da EngLab
    No credo sia così, inverte semplicemente il giorno col mese, e usa il sistema anglosassone nelle query, mentre l'interfaccia utente è impostato sul sistema che usiamo noi.. Almeno credo ..
    se apri la tabella il valore è normale
    invece nelle query da vb fa quel giochetto, e solo se il giorno è inferiore o uguale a 12

    ora purtroppo non ricordo come ho risolto ( secoli fa ) questo problema
    prude il dito, lui sdraiato
    ha giocato a guardie e ladri col ladro sbagliato

  8. #8
    Utente di HTML.it L'avatar di tony83
    Registrato dal
    Feb 2005
    Messaggi
    3,179
    Originariamente inviato da tony83
    Forse ho capito devo passare nel formato yyyy/mm/dd invece che dd/mm/yyyy
    Ma anche con altri db va gestito cosi?
    yyyy/mm/dd?
    cosi forse?
    Tony

  9. #9
    Utente di HTML.it L'avatar di EngLab
    Registrato dal
    Jan 2006
    Messaggi
    496
    Non credo che abbiano lasciato a piede libero un bug di tale importanza...

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Il problema è dato dal fatto che non è in quel modo che si fanno le query...

    Meglio usare i parametri, sono stati creati appositamente per fornire un valido strumento con cui validare i dati da passare ed evitare ambiguità lasciando che sia lo strato inferiore (rispetto al livello in cui si trova chi scrive il codice dell'applicazione) a gestire conversioni nel modo corretto, eludendo anche possibili attacchi di SQL Injection.

    Nelle discussioni in rilievo c'è un riferimento ad un thread che tratta questa problematica in modo approfondito: questo.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.