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

    [vb6]Problemi Transazioni vb6

    Salve a tutti,

    ho scritto già su un vecchio post ma non ho trovato soluzione.

    Il mio problema è utilizzare le transazioni affinchè tutto ciò che faccio in un form, alla fine possa essere annullato riportando i dati del db sqlserver alla situazione iniziale.

    Utilizzo gli oggetti ado e sql server

    Perchè nel codice il metodo Begintrans, commit e rollback non mi vengono riconosciuti?

    Cosa sbaglio?

    Trascino un oggetto ado sul form chiamato adolotti

    Apro la connessione al db sqlserver
    adolotti.ConnectionString = "Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=magazzinitirreni;Data Source=ANGELO\SQLEXPRESS"

    Faccio la query e aggiungo un nuovo record
    adolotti.RecordSource = "select * from tab_lotti"
    adolotti.Refresh
    adolotti.Recordset.AddNew
    adolotti.Recordset("numdep") = Text1.Text
    adolotti.Recordset("codmag") = Text2.Text
    adolotti.Recordset("numlotto") = Text3.Text
    adolotti.Recordset.Update

    MsgBox "Il lotto è stato associato al container", vbDefaultButton1
    adolotti.RecordSource = "select * from tab_lotti where numdep='" & Text1.Text & "' AND codmag='" & Text2.Text & "' "
    adolotti.Refresh

    Se inserisco il codice

    adolotti.BeginTrans

    appare
    Impossibile trovare il metodo o il membro dei dati

    Cosa c'è di sbagliato?

    Come mai non funziona?

    I metodi vanno inseriti in un punto preciso del codice? Dopo la stringa di connessione o dopo la query?

    Non riesco a capire e a risolvere.

    Grazie 1000

  2. #2
    Mi sorge un dubbio....ma non è che devo caricare qualche componente o qualche riferimento nel progetto?

    GRAZIE

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Mi pareva di averti gia' risposto ... comunque ... adolotti cosa e'?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  4. #4
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    il metodo BeginTrans (e i suoi compari rollback commit ecc) non sono piu' supportati da ADO (che deduco tu stia usando visto il nome adoLotti)

    per fare quello che dici tu, devi interagire con il metodo .Filter del recordset abbinato al filtro strandard "adFilterPendingRecords" e compagnia.
    ...and I miss you...like the deserts miss the rain...

  5. #5
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Con ADO le transazioni sono supportate dall'oggetto Connection.

    Se l'oggetto che usi (adoLotto) come penso, e' un controllo ADODB, non puoi gestire le transazioni. Dovrai usare un oggetto Connection al suo posto.

    Dato che ci sono particolari del funzionamento da conoscere circa l'interazione delle transazioni di ADO con quelle (implicite) di SQL Server, bisogna che tu legga l'articolo

    INFO: Understanding ADO Transactions with MS SQL Server
    http://support.microsoft.com/kb/198024/en-us
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.