Torna al Thread
Function newacconto(ByVal codcliente As String, ByVal acconto As String, ByVal resta As String) As Integer
'Si effettua l'inserimento dell'acconto e poi si aggiorna la resta da Clienti
Dim sbacc As New StringBuilder
Dim sbresta As New StringBuilder
'Add acconto
sbacc.Append("INSERT into Acconti(Codcliente,Acconto, Data_Acconto) ")
sbacc.Append("VALUES(@Codcliente, @Acconto, @Data_Acconto)")
'Aggiorno resta da Clienti
sbresta.Append("UPDATE Clienti SET Resta_Parziale = @resta , Data_mod = @data ")
sbresta.Append("WHERE Codcliente =@Codcliente ")
Dim queryaddacconto As String = sbacc.ToString
Dim queryupdresta As String = sbresta.ToString
Dim cmd As OleDbCommand = Me.connect.CreateCommand
Dim transaction As OleDbTransaction
If Me.connect.State = ConnectionState.Open Then
Me.connect.Close()
End If
Me.connect.Open()
'inizio transazione
transaction = Me.connect.BeginTransaction
' assegno connessione e transazione al command
cmd.Connection = Me.connect
cmd.Transaction = transaction
Try
'inserimento acconto
cmd.CommandText = queryaddacconto
cmd.Parameters.Add("@codcliente", OleDbType.Numeric).Value = codcliente
cmd.Parameters.Add("@Acconto", OleDbType.Currency).Value = acconto
cmd.Parameters.Add("@data", OleDbType.Date).Value = Today.Date
cmd.ExecuteNonQuery()
'
'Aggiorno resta
cmd.CommandText = queryupdresta
cmd.Parameters.Add("@resta", OleDbType.Currency).Value = resta
cmd.Parameters.Add("@data", OleDbType.Date).Value = Today.Date
cmd.Parameters.Add("@codcliente", OleDbType.Numeric).Value = codcliente
Dim dr As Integer = cmd.ExecuteNonQuery()
transaction.Commit()
'Se 1 aggiornata resta
Return dr
Catch ex As Exception
MsgBox(ex.ToString)
transaction.Rollback()
End Try
End Function