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

    [VB.net] Transazioni su più form?

    Salve,
    Mi sto imbattendo da un po con il problema delle transazioni. Fino ad ora tutto ok mi era sempre capitato di dover eseguire due operazioni consecutivi su un'unica form. Mi spiego meglio con un esempio:
    1)premo un tasto della form
    2) apro la transazione
    3) eseguo prima istruzione sql
    4) eseguo la seconda
    5) se tutto andato bene commit else rolback
    Ok perfetto

    Ora cosa mi succede mi trovo con una finestra aperta e un pop up aperto cosa vorrei fare:
    1)premo sul tasto salva della pop up
    2)apro la transazione
    3) faccio la mia insert o update quello che e'
    4)si chiude il popup e quando premo sul bottone salva della prima form
    5) eseguo la seconda istruzione sql
    6) a questo punto se non e' andato tutto bene faccio un roolback o un commit

    il problemone sta proprio nel fatto che le cose si svolgono su due pagine diverse...
    la transazione non mi rimane aperta... avete mai trovato un problema simile???
    o una situazione simile?? come avete risolto???? il mio collega mi suggerisce di salvare su una tabella identica ma temporanea.. cosa che a me sembra molto sporca...

    Soluzioni più eleganti???
    Sparate qualsiasi idea siamo qui per questo ^^

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Non esiste un legame tra le transazioni e i Form, a meno che non sia tu a crearlo.

    Se la connessione o la transazione di riferimento non risiedono in un metodo a parte o non si trovano in un luogo che sia "comune" ad entrambi i Form, ma fanno parte del Form stesso, ad esempio, nel momento in cui il Form non viene più utilizzato o se ne crea un altro, si abbandona il contesto precedente e se ne introduce uno nuovo.

    Probabilmente, la gestione delle transazioni che hai implementato è legata, erroneamente, alla vita dei Form.
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

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

  3. #3
    Scusa l'ignoranza ma quale potrebbe essere sto metodo a parte che sia comune a due form??
    Io non ne vedo l'unico posto che forse potrebbe essere in comune è il global ma non mi sembra l'idea migliore.
    Tu cosa intendevi?

    ciao

  4. #4
    lui intendeva di mettere la tua transazione in un modulo separato in modo da essere richiamato da ambedue i form senza problemi e in modo da non essere "chiuso" alla chiusura di uno dei due form...
    I database... la mia passione + o -

  5. #5
    Non e' che mi definiresti cosa intendi per modulo separato dalla form??
    Da quello che so io di vb.net non c'e' niente di separato dalla form... Premetto che ne so molto poco ^_^ anche se lavoro in una softwarehouse che fa programmi solo in vb.net ^^

  6. #6
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,472
    Originariamente inviato da Molok
    Da quello che so io di vb.net non c'e' niente di separato dalla form...
    Quindi, se hai bisogno di definire un tipo di dati da utilizzare per la tua applicazione, crei obbligatoriamente un Form per contenerlo, anche se non serve a nulla?

    In questo caso, la risoluzione al tuo problema la trovi documentandoti sui tipi di file che puoi inserire all'interno di un progetto e su come strutturarlo creando classi, da inserire all'interno di moduli o file sorgente a sé stanti.

    Qualsiasi suggerimento sia possibile darti non sarà utilizzabile senza un minimo di conoscenza dell'ambiente e degli elementi che costituiscono tipicamente un progetto.
    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 © 2025 vBulletin Solutions, Inc. All rights reserved.