+ Rispondi al Thread
Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Query SQL con passaggio parametri data

  1. #1
    L'avatar di dante.3d
    dante.3d non è in linea Scolaretto
    Post
    121

    Query SQL con passaggio parametri data

    Ciao a tutti,
    sto cercando di far eseguire un comando sql (insert) tramite ADOcommand con l'uso di un parametro Tdata
    l'istruzione SQL in "chiaro" è questa
    codice:
    INSERT INTO ore_comm (Id_dip, Id_sdl, Data, ore, Id_centroc, Id_turno) VALUES (84,12641,:Data,5,76,0);
    questo è il codice Delphi
    codice:
    id_sdl:= MDOre.FieldByName('id_sdl').AsString;
    ore:= MDOre.FieldByName('ore').AsString;
    id_centroc:= MDOre.FieldByName('id_centroc').AsString;
    id_turno:= MDOre.FieldByName('id_turno').AsString;
    comsql:= 'INSERT INTO ore_comm (Id_dip, Id_sdl, Data, ore, Id_centroc, Id_turno) VALUES (' +
                 dip + ',' + id_sdl + ',' + ':Data,' + ore + ',' + id_centroc + ',' + id_turno + ');';
    //ADOCommand1.Parameters.ParamByName('Data').Value:= FormatDateTime('dd/MM/yyyy', DataTimbratura);
    ADOCommand1.Parameters.ParamByName('Data').Value:= DataTimbratura;
    
    //esegui il comando SQL
    ADOCommand1.CommandText:= comsql;
    ADOCommand1.Execute;
    Premetto uso DelphiEX10 con ADO su Database Access..
    l'errore credo sia sull'uso del parametro, non ho indicazioni sull'errore il codice non viene eseguito..
    potete dirmi se avete avuto problemi simili?
    Ultima modifica di AntonioG; 22-07-2020 17:23 

  2. #2
    Ferrari_and non è in linea Scolaretto
    Post
    251
    Prova a controllare il volare di comsql dopo aver costruito la stringa Per sicurezza.
    In vb la dichiarazione del parametro è un pò diversa quindi non posso essere utile

  3. #3
    L'avatar di dante.3d
    dante.3d non è in linea Scolaretto
    Post
    121
    Quote Originariamente inviato da Ferrari_and Visualizza il messaggio
    Prova a controllare il volare di comsql dopo aver costruito la stringa Per sicurezza.
    In vb la dichiarazione del parametro è un pò diversa quindi non posso essere utile
    già fatto in sede di DEBUG.. grazie
    la stringa è proprio questa
    codice:
    INSERT INTO ore_comm (Id_dip, Id_sdl, Data, ore, Id_centroc, Id_turno) VALUES (84,12641,:Data,5,76,0);

  4. #4
    L'avatar di dante.3d
    dante.3d non è in linea Scolaretto
    Post
    121
    Ho trovato l'errore. Nel passaggio dei dati vuole le date in formato mese-giorno-anno
    datains:= FormatDateTime('MM/dd/yyyy', DataTimbratura);
    A questo punto una domanda spontanea.. ma non esiste un modo per sapere come access vuole le date..
    bisogna andare per tentativi!??

    non ho trovato documentazione nel sito della microsoft il riferimento è sempre sul lato utente finale..

  5. #5
    L'avatar di AntonioG
    AntonioG non è in linea Moderatore Globale Ultimo blog: Commodore 64 e Codemotion
    Luogo
    Roma
    Post
    16,809
    Blogs
    5
    Esistono tanti post su questo forum in cui è ricordato che jet vuole ma data nel formato mm/dd/yyyy
    Avvisi generali e importanti, a pena CHIUSURA thread e/o BAN
    Il crossposting è vietato.
    Le richieste di "pappa pronta" sono vietate.
    Utilizzate i tag CODE per il codice.
    Leggere il Regolamento per chiarimenti PRIMA di creare nuovi thread.
    Utilizzare sempre i PM per comunicare con i moderatori.
    Non mi contattate in PM per problemi di software, usate il forum

  6. #6
    L'avatar di dante.3d
    dante.3d non è in linea Scolaretto
    Post
    121
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Esistono tanti post su questo forum in cui è ricordato che jet vuole ma data nel formato mm/dd/yyyy
    hai ragione.. dovevo cercare per JET e non per ADO..
    sono stato frettoloso..
    scusate.

+ Rispondi al Thread

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi