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.
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