Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003

    [Delphi] Costruire data per inserimento in Access

    Ho un database Access con un campo data (formato dd/mm/yyyy HH.ii.ss)

    Come posso costruire una data in modo da inserire la data odierna nel campo?
    Non so se esistono funzioni di Access che lo facciano in automatico.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Le possibilità sono molteplici: dipende dalla libreria o dalla piattaforma che usi per accedere al database...

    Usi BDE o ADO?

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

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

  3. #3
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Uso BDE.

    Avevo temporaneamente risolto mettendo un valore di default nel database.
    Adesso però mi ritrovo con la necessità di costruire una query utilizzando la data. E non so come fare:

    codice:
    QCalls.SQL.Add('SELECT * FROM list WHERE called='''+ MyBackup +''' AND date>='''+ datetimetostr(today) +''' ORDER BY date');
    QCalls.Open;
    Mi da errore di incompatibilità tra dati

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Quando è necessario inserire valori parametri all'interno delle query, è indicato (e più sicuro) l'uso di...parametri.

    Prendendo il tuo esempio:
    codice:
    QCalls.SQL.Text := 'SELECT * FROM list WHERE date = :REFDATE';
    QCalls.ParamByName('REFDATE').AsDateTime := Now;
    QCalls.Open;
    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  5. #5
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Ok, girovagando per il forum ho trovato la soluzione, più banale di quanto credessi

    codice:
    QCalls.SQL.Add('SELECT * FROM list WHERE called='''+ MyBackup +''' AND date>= :DATAODIERNA ORDER BY date');
    QCalls.ParamByName('DATAODIERNA').AsDateTime := Today;
    QCalls.Open;

  6. #6
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da alka
    Quando è necessario inserire valori parametri all'interno delle query, è indicato (e più sicuro) l'uso di...parametri.

    Prendendo il tuo esempio:
    codice:
    QCalls.SQL.Text := 'SELECT * FROM list WHERE date = :REFDATE';
    QCalls.ParamByName('REFDATE').AsDateTime := Now;
    QCalls.Open;
    Ciao!
    Sei stato più veloce di me

    Grazie mille comunque

  7. #7
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Chiedo scusa per la domanda banale ma... è possibile effettuare questa operazione anche sulle query di inserimento?
    codice:
    QCalls.SQL.Text := 'INSERT INTO list (caller,called,date) VALUES ('''+ Call.CallerID.Address +''','''+ Call.CalledID.Address +''',:DATAODIERNA)';
    QCalls.ParamByName('DATAODIERNA').AsDateTime := Now;
    QCalls.ExecSQL;
    mi genera un errore.

  8. #8
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,296
    Originariamente inviato da VaLvOnAuTa
    Chiedo scusa per la domanda banale ma... è possibile effettuare questa operazione anche sulle query di inserimento?
    Certo!

    Originariamente inviato da VaLvOnAuTa
    mi genera un errore.
    Quale? Non è un'informazione di secondaria importanza... :master:
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  9. #9
    Utente di HTML.it L'avatar di VaLvOnAuTa
    Registrato dal
    Jun 2002
    Messaggi
    2,003
    Originariamente inviato da alka
    Certo!


    Quale? Non è un'informazione di secondaria importanza... :master:
    Hai ragione, scusa.
    Ho risolto.
    L'errore non riguardava il parametro: avevo leggermente modificato la struttura della tabella e avevo dimenticato di cambiare la stringa SQL.

    Grazie mille per la disponibilità

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