Visualizzazione dei risultati da 1 a 6 su 6
  1. #1

    [VB.net] Query e Date

    Scusatemi se vi disturbo ancora una volta, ma sempre con ricerche (sia sul forum che su google) non sono riuscito a trovare la risposta: Non che non ci debba essere nulla ma senza sapere il nome della funzione la strada è lunga

    Ho la seguente query

    codice:
    selezione = "SELECT Azienda.Nominativo AS Nominativo, Contratto.Tipologia As Tipologia, Contratto.DInizio As Data_Inizio, Contratto.DFine As Data_Fine, Contratto.Attività As Attività, Contratto.Importo As Importo FROM Contratto, Azienda WHERE (Azienda.IDAzienda = Contratto.IDAzienda) AND (Contratto.DInizio BETWEEN """ & TextBox1.Text & """ AND """ & TextBox3.Text & """)"
    Praticamente al di la di tutto mi deve selzionare i dati che hanno una data compresa tra il testo di textbox1 e il testo di textbox3. Mi dice però che i tipi di dati non sono corrispondenti all'espressione criterio.

    Se levo il valore della textbox dagli apici non mi trova nulla, immagino quindi che debba convertire tutto in data. Qual'è la funzione per convertire una stringa in data?

    Vi ringrazio in anticipo,
    Neptune.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  2. #2
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    DataBase utilizzato ACCESS, SQLServer, MySQL, ORACLE o altro ?
    Ciao, Brainjar

  3. #3
    Originariamente inviato da Brainjar
    DataBase utilizzato ACCESS, SQLServer, MySQL, ORACLE o altro ?
    Scusami, Access. Le date me le salva tranquillamente in gg/mm/yyyy

    P.S: Ho già provato funzioni tipo convert.todatatime e Format senza nessun risultato.
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Come è già stato suggerito innumerevoli volte, in questi casi conviene usare le query parametriche (fare una ricerca in proposito), evitando di inserire i valori direttamente nello statement SQL, che espone il programma a possibili problemi, errori e raggiri (vedi SQL injection).
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Originariamente inviato da alka
    Come è già stato suggerito innumerevoli volte, in questi casi conviene usare le query parametriche (fare una ricerca in proposito), evitando di inserire i valori direttamente nello statement SQL, che espone il programma a possibili problemi, errori e raggiri (vedi SQL injection).
    Si, avevo letto delle query parametriche. Ad ogni modo il problema era di "Data americana" Vs "Data italiana". Ovviamente Access me la Visualizzava nella nostra data e mi domandavo qual'era il problema, ma era solo "una visualizzazione" i dati bisognava sempre salvarli in data americana.

    Sorvolato ciò non avrei avuto lo stesso identico problema con le query parametriche?
    "Estremamente originale e fantasioso" By darkiko;
    "allora sfiga crepuscolare mi sa che e' meglio di atmosfera serale" By NyXo;
    "per favore, già è difficile con lui" By fcaldera;
    "se lo apri te e invece di "amore" ci metti "lavoro", l'effetto è lo stesso" By fred84

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,466
    Originariamente inviato da Neptune
    Ad ogni modo il problema era di "Data americana" Vs "Data italiana".
    Il problema lo incontri perché ti fai carico tu di usare il formato testuale più adatto, e quindi devi fornire ad Access il valore della data usando la notazione attiva per il sistema internazionale impostato.

    Originariamente inviato da Neptune
    Sorvolato ciò non avrei avuto lo stesso identico problema con le query parametriche?
    Se usi i parametri nelle query, li definisci attribuendo loro il valore usando i tipi base del .NET Framework; avresti quindi specificato un valore System.DateTime, come è naturale che sia, lasciando al sistema - che è in grado di farlo molto meglio e valutando tutte le condizioni, oltreché astraendo il colloquio col database sottostante - il compito di convertire il valore "nativo" nel valore accettabile da Access.

    Per quanto riguarda la visualizzazione, se intendi avere le date sempre espresse con uno specifico formato, questo è un altro problema: in tal caso, devi definire il formato specifico e utilizzarlo quando ottieni la rappresentazione testuale del valore data/ora, oppure agire sulle impostazioni di configurazione che attivano una particolare "localizzazione" influenzando la formattazione dei valori nell'intera applicazione.

    Se ti ritrovi però a formattare valori per il loro utilizzo in una query, allora non serve: usa i parametri, che consentono di ottenere anche performance migliori in query che vengono rieseguite spesso.
    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.