<%@ Language=VBScript %>
<%
Option Explicit
Response.Expires = 0
On Error Resume Next
'Kein Resultat
'*****************************************************************
'Variablendeklarationen
Dim sngbetrag
Dim objcon
'*****************************************************************
'Variableninitialisierung
Set objcon = Server.CreateObject("ADODB.Connection")
'objcon.Open "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
' "DBQ=" & server.MapPath("(/asppages/silvi/db/dbkonten2000.mdb")
objcon.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source =" & server.MapPath("/asppages/silvi/db/dbkonten2000.mdb")
'*****************************************************************
'Anfang <html>
%>
<!--#include virtual="asppages/silvi/_include/preheader.inc" -->
<html>
<head>
<title>ASP fortgeschrittene DB-Techniken: Transaktionsverwaltung
</title>
<meta name="description" content="" />
<meta name="keywords" content="ASP, DB, Transaktion" />
<!--#include virtual="asppages/silvi/_include/header.inc" -->
</head>
<body>
<%
'*****************************************************************
'Code innerhalb der HTML-Seite
'Beispiel einer gültigen Transaktion, d.h. Betrag kleiner als Kontostand
sngbetrag = 10
'Anfang der Transaktion
Err.Clear
objcon.BeginTrans
'Abbuchen von Bankkonto
objcon.Execute "UPDATE tblbankkonten " & _
"SET saldo = (saldo - " & sngbetrag & ") " & _
"WHERE kontennr = 1"
'Hinzubuchen auf Postkonto
objcon.Execute "UPDATE tblpostkonten " & _
"SET saldo = (saldo + " & sngbetrag & ") " & _
"WHERE kontennr = 1"
If objcon.Errors.Count > 0 or Err.number <> 0 then
'Transaktion zurückgerollt
objcon.RollbackTrans
Response.Write("Es ist ein Fehler aufgetreten, keine Änderung<br />")
Response.Write ("Fehler " & Err.number & ": " & Err.description & "<br />")
Else
'Transaktion abgeschlossen
objcon.CommitTrans
Response.Write(sngbetrag & " Fr. wurden vom Bankkonto aufs Postkonto gebucht<br /><hr>")
End If
'Beispiel einer ungültigen Transaktion, d.h. Betrag grösser als Kontostand
sngbetrag = 100000
'Anfang der Transaktion
Err.Clear
objcon.BeginTrans
'Abbuchen von Bankkonto
objcon.Execute "UPDATE tblbankkonten " & _
"SET saldo = (saldo - " & sngbetrag & ") " & _
"WHERE kontennr = 1"
'Hinzubuchen auf Postkonto
objcon.Execute "UPDATE tblpostkonten " & _
"SET saldo = (saldo + " & sngbetrag & ") " & _
"WHERE kontennr = 1"
If objcon.Errors.Count > 0 or Err.number <> 0 then
'Transaktion zurückgerollt
objcon.RollbackTrans
Response.Write("Ungültige Transaktion, keine Änderung<br />")
Response.Write ("Fehler " & Err.number & ": " & Err.description & "<br />")
Else
'Transaktion abgeschlossen
objcon.CommitTrans
Response.Write(sngbetrag & " Fr. wurden vom Bankkonto aufs Postkonto gebucht<br />")
End If
%>
<!--#include virtual="asppages/silvi/_include/inchtmlnachspann.asp" -->
</body>
</html>
Letzter Update:
26.12.2021 16:48
Zurück zur
Liste mit ASP-Beispielen auf
www.ecotronics.ch