Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 12 su 12
  1. #11
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,288
    Quote Originariamente inviata da Veronica80 Visualizza il messaggio
    Si perchè il problema si verifica quando ripeto un fill() su una tabella e il tableAdapter è impostato per effettuare il clearBeforeFill() però non riesce appunto per via dei vincoli.
    Se il Fill serve a ripartire da una situazione "pulita" e da dati aggiornati, perché non applicarlo a una istanza ex novo di DataSet invece che a una istanza esistente che, in questo modo, deve essere alterata col rischio di contrassegnare record come "da eliminare" quando invece si vogliono invece ignorare/scartare?

    Occorre fare attenzione all'uso dell'accoppiata DataSet/Adapter quando si adotta il modello "briefcase".

    Il concetto è: il Fill viene effettuato per riempire un DataSet con i dati da modificare; una volta apportate le modifiche, il database deve essere aggiornato passando il DataSet al metodo Update dell'Adapter; eseguito l'update, il DataSet e il database devono essere considerare "allineati", senza la necessità di dover effettuare ulteriori operazioni, in quanto l'update prende lo stato del DataSet e lo riflette su DB, quindi DB e DataSet sono già allineati senza bisogno di Fill.

    Come parere personale, trovo che il modello - al giorno d'oggi - sia abbastanza superato: meglio accedere direttamente con oggetti DataReader e scaricare le informazioni all'interno di oggetti (istanze di classi) che fanno parte del modello di business, lavorando con quelli e aggiornando il database direttamente con metodi specifici e dedicati, usando magari dei pattern come quello del Repository.

    Insomma, la situazione mi sembra che stia diventando un po' intricata, probabilmente anche per limitazioni degli oggetti utilizzati nati a suo tempo per sopperire a necessità che oggi iniziano a venire meno.

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

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

  2. #12
    Utente di HTML.it L'avatar di Veronica80
    Registrato dal
    May 2006
    Messaggi
    2,109
    Si sono d'accordo con te!
    Io di norma uso i datareader e lancio i comand direttamente senza usare bindingsource, dataset ed affini.
    In questo caso mi son trovata costretta perchè con il metodo dataReader() ci metteva un sacco ad applicare i "filtri al volo" (tipo scrivendo in una textbox) ai dati delle datagridview e comunque sto usando alcuni componenti che si associano solo a dataset.

    Ma non pensavo avesse tutti sti limiti...

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.