Oppure

Loading
Questo topic e' stato chiuso dal moderatore.
09/03/19 21:34
visualrenzo
ho scritto il seguente codice che dovrebbe andare ascrivere su una tabella del server(in questo momento in locale su un DB access)

Sto provando la Transaction con Commit e Rollback.

Ho scritto questo e sembra che funziona almeno il Commit.

Domanda: Ma il rollback serve a riprovare l' insert oppure ad annullarlo?

In realtà io voglio sapere se l' operazione è andata a buon fine oppure se c' è da rilanciare l'insert perchè il server magari ha avuto problemi o per casi di Timeout.

 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim pippo
        pippo = TextBox1.Text.ToString

        Dim transaction As OleDbTransaction
        ' Start a local transaction
        'transaction = MyConnessione.BeginTransaction("SampleTransaction")
        transaction = MyConnessione.BeginTransaction()
        Try

            strSQL = "INSERT INTO " & "tbl" &
                                    "([Numero],[Descrizione]) " &
                                    "VALUES (?,?)"


            Dim cmdCommand As OleDbCommand = New OleDbCommand(strSQL, MyConnessione)

            ' Must assign both transaction object and connection
            ' to Command object for a pending local transaction.

            cmdCommand.Transaction = transaction

            cmdCommand.Parameters.Add(New OleDbParameter("@AAA", OleDbType.VarChar)).Value = "0" 'Trim(Carrello_Numero_Letto) '21 gennaio 2019
            cmdCommand.Parameters.Add(New OleDbParameter("@BBB", OleDbType.VarChar)).Value = Trim(pippo)   '21 gennaio 2019

            cmdCommand.ExecuteNonQuery()
            transaction.Commit()



        Catch ex As Exception
            transaction.Rollback()

            FileClose(1)
            FileOpen(1, "LOG Errori" & ".txt", OpenMode.Append, , , )    'Open "ParametriTest.ini" For Input As 1
            PrintLine(1, ex.Message & " Non riesco a connettermi alla Tabella  ")
            FileClose(1)
            FileClose(1)
            FileOpen(1, "Trace" & ".txt", OpenMode.Append, , , )    'Open "ParametriTest.ini" For Input As 1
            PrintLine(1, strSQL)
            FileClose(1)


        End Try

    End Sub

aaa
10/03/19 12:36
nessuno
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
10/03/19 20:11
Thejuster
Questo topic è in violazione di una o più norme del regolamento: pierotofy.it/pages/extras/forum/9/3839-regolamento/ .
    
Dopo averlo letto riapri un nuovo topic assicurandoti di aver rispettato le regole. Grazie per la tua pazienza.
mire.forumfree.it/ - Mire Engine
C# UI Designer