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

    [Delphi] - Ado e LoadFromFile

    credo sia così scemo che mi vergogno quasi a chiederlo...

    con la semplicissima riga
    codice:
    Tabella.SaveToFile('C:\pippo.xml');
    ho salvato il contenuto della mia tabella nel file indicato...

    quando provo ad eseguire il percorso inverso
    codice:
    Tabella.LoadFromFile('C:\pippo.xml');
    nella mia griglia tutto ok ma sul database come dice qualcuno:"BUIO!".

    Allora ho provato così

    codice:
      Tabella.LoadFromFile('c:\pippo.xml');
      Connessione.BeginTrans;
      Tabella.UpdateBatch;
      Connessione.CommitTrans;
    ma ancora niente da fare dov'è che sbaglio???

    Grazie!

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333
    Ho l'impressione che i metodi LoadFromFile e SaveToFile siano predisposti solamente all'uso del componente con tabelle salvate su disco, quando non si fa uso invece di un database di tipo differente.

    In base all'origine dati scelta (database oppure file XML), devi utilizzare i metodi appropriati.

    UpdateBatch salva le modifiche apportate nella tabella collegata; se non esegui alcuna Insert/Append, Edit, Post e così via, il metodo non avrà alcun effetto.

    Credo che tu abbia determinato un comportamento sbagliato per UpdateBatch, pensando che potesse trasferirti nella tabella sul database ogni record caricato dal file XML su disco.

    Quell'operazione puoi farla in due passaggi, eventualmente, sfruttando due componenti "Tabella", il primo che carica il file XML da disco e il secondo che si aggancia alla tabella sul database, scandendo la prima ed eseguendo Append e Post sulla seconda, copiando i valori dei singoli campi da tabella a tabella, per ciascun record individuato.

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

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

  3. #3
    grazie alka recipito assolutamente il concetto!

    Mi chiedevo però come fare ad aggiornare solo i campi modificati ed
    eventualmente inserire i nuovi?

  4. #4
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,333
    Originariamente inviato da morfeusflash
    Mi chiedevo però come fare ad aggiornare solo i campi modificati ed
    eventualmente inserire i nuovi?
    Ho paura che non esista un metodo "automatico", ma che tu debba codificare una parte di codice ad hoc per risolvere il tuo problema, stabilendo convenzioni personalizzate per individuare quali record devono essere aggiornati e con quali dati.
    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.