Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1

    [Delphi]: refresh di dataset

    Ciao a tutti,
    ho fatto una piccola query (tramite adoquery) che conta il numero di record presenti in un Datasource. La query funziona correttamente, tuttavia non mostra in tempo reale eventuali aggiunte/eliminazioni di record. Come posso fare per fare in modo che la query venga rieseguita ogni volta che viè una modifica??? Ho già provato a disattivare e riattivare sia la query che la tabella e il datasource in corrispondenza delle azioni associate ai tasti per l'aggiunta e l'eliminazione di record, ma senza risultati...la DBlabel associata alla query mostra sempre il numero di record iniziale (quello all'apertura del programma). Anche se chiudo e riapro il form il risultato non cambia e per visualizzare il numero corrente di record sono costretto a chiudere e riaprire il programma!!!

    ciao!!
    Maurizio Manna
    www.f1grandprix.it
    News, foto, storia, cifre, chat, forum, wallpaper, screen saver e altro ancora sulla Ferrari e la Formula 1

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,306
    Hai provato a chiudere e riaprire (quindi, rieseguire) la query?

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

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

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    48
    mhmh
    prova requestlive a true...
    aspetta che guardo il resto...
    FatMax

    Italian Programmer

  4. #4
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    48

    allora

    se usi tabelle IB ...
    o Paradox
    il RecordCount è buggato..
    non sempre funziona.....
    e non so xkè..

    cmq...aggiare il problema con un semplice INC e DEC??

    all'inizio del prog..nello show ti carichi il num..e poi fai inc e dec
    ..è molto + snello
    FatMax

    Italian Programmer

  5. #5
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,306
    La proprietà RequestLive non è supportata dal componente ADOQuery; tra l'altro, non serve per il problema indicato, poichè ha la sola funzione di rendere "aggiornabile" (nel senso di "modificabile") una query.
    Il RecordCount (e i problemi annessi a tale proprietà) non mi sembra c'entrino in questo caso, poichè schumi83 ha già costruito (almeno questo è ciò che ho capito) una query del tipo "SELECT COUNT(*) FROM...".
    Il suo vero problema è che tale query non viene rieseguita per effettuare il conteggio quando si aggiunge un nuovo record, giusto?
    In tal caso, mi sembra che l'unica soluzione sia quella di chiudere e riaprire la query ogni volta che fai un nuovo inserimento. Devi eseguire nuovamente la query di conteggio in presenza dei nuovi record inseriti se vuoi avere un valore aggiornato.

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

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

  6. #6
    Utente di HTML.it
    Registrato dal
    Jan 2002
    Messaggi
    48

    hannnnnnnn

    okiz ci sono......
    (rimango sempre ignorante degli ADO)

    se fai la query......si l'unica soluzione ..è di ricompilarla....ogni volta.....
    ma a parere mio
    ti conviene inc e dec....se serve al programma ogni volta..che aggiungi o togli
    piuttosto di rifare una query.....
    che ..è + lenta
    FatMax

    Italian Programmer

  7. #7
    Originariamente inviato da alka
    poichè schumi83 ha già costruito (almeno questo è ciò che ho capito) una query del tipo "SELECT COUNT(*) FROM...".
    Il suo vero problema è che tale query non viene rieseguita per effettuare il conteggio quando si aggiunge un nuovo record, giusto?
    In tal caso, mi sembra che l'unica soluzione sia quella di chiudere e riaprire la query ogni volta che fai un nuovo inserimento. Devi eseguire nuovamente la query di conteggio in presenza dei nuovi record inseriti se vuoi avere un valore aggiornato.

    Ciao! [/B]
    Infatti è proprio così!!! Ho usato COUNT (*)...
    ma come ho detto prima ho già provato a rieseguire la query ad esempio quando elimino un record. Ho provato sia con close e open sia con la proprietà Active della query...ma niente!!!

    come posso fare???

    ciao!
    Maurizio Manna
    www.f1grandprix.it
    News, foto, storia, cifre, chat, forum, wallpaper, screen saver e altro ancora sulla Ferrari e la Formula 1

  8. #8

    Re: allora

    Originariamente inviato da FatMax

    cmq...aggiare il problema con un semplice INC e DEC??

    all'inizio del prog..nello show ti carichi il num..e poi fai inc e dec
    ..è molto + snello [/B]
    cioè??? Cosa sono inc e dec??? Uso access come DB...
    Maurizio Manna
    www.f1grandprix.it
    News, foto, storia, cifre, chat, forum, wallpaper, screen saver e altro ancora sulla Ferrari e la Formula 1

  9. #9
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,306
    Forse lui intendeva dire che potresti incrementare e decrementare automaticamente una variabile globale quando aggiungi o elimini un record...e quindi visualizzare tale variabile.

    Mi è venuto in mente un altro possibile motivo per il quale la query non ha effetto: non è che fai uso di transazioni?

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

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

  10. #10
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,306

    Un'ulteriore prova...

    Un'ulteriore prova che puoi tentare è questa:
    accertati che la proprietà Attributes di ADOConnection possieda l'elemento xaCommitRetaining. Se non è così, prova ad attivarlo.

    Ho esaurito le soluzioni.

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