15. december 2000 - 11:33
Der er
4 kommentarer og
1 løsning
Transaktioner
Hvordan laver man en transaktion på en ASP side ? Jeg kan ikke bruger connection objectet (Connection.BeginTrans) da jeg opretter en ny connection for hvert funktions kald. Funktionerne ligger i en DLL fil. Jeg ved at man kan skrive <%@ TRANSACTION=Required %> i toppen af sit dokument, men jeg ved ikke hvordan man bruger det. Hjælp !!!!!!
on Error Resume next
Set DIFkomp = server.CreateObject(\"DIFmodul.hentoplysninger\")
if err.number=0 then
set svar = DIFkomp.Insert_kunde(Request.Form(\"klubnavn\"),Request.Form(\"adresse\"),Request.Form(\"postnr\"),Request.Form(\"by\"),Request.Form(\"telefon\"),Tnytid,Request.Form(\"att\"),Request.Form(\"email\"))
end if
if err.number=0 then
i=1
do while i<=Request.Form(\"destList\").Count
if (not svar.eof) then
DIFkomp.Insert_kunde_forbund_relation clng(Request.Form(\"destList\").Item(i)),Clng(svar(\"idet\"))
end if
i=i+1
loop
end if
if err.number=0 then
set webbruger = DIFkomp.Insert_web_bruger(svar(\"idet\"),\"0\",Request.Form(\"att\"),Request.Form(\"email\"),brugerid,Request.Form(\"dummy\"),0,\"Dansk\",Request.Form(\"telefon\"))
end if
15. december 2000 - 11:45
#1
jeg er ret så sikker på at du må lave transaktionstyring i din dll FIL. Jeg har ikke hørt om at du kan styre det fra ASP, ved mindre database tilgangen sker i ASP!
Jeg ved ikke om du kan bruge det, men jeg har det her liggende og det kan være at du kan omforme det til eget brug.
Det virker fint.
Kode:
\'Connection til Booking database paa Sql-Serveren
Set conn = Server.CreateObject(\"ADODB.Connection\")
conn.open \"DSN=BookingData;uid=sa;pwd=;APP=BookingDB;Database=BookingDB\"
\'Dette script opdaterer tabellerne: VaegKombination, LokalerKombi og Lokaler
\'Det er formaalet med scriptet at det skal redigere et enkelt lokale.
conn.BeginTrans
On Error Resume Next
sql = \"UPDATE VaegKombination set KombiNavn=\'\" & LokaleNavn & \"\', Indgang=\'\" & Indgang & \"\', Personer=\" & Personer & \", Beskrivelse=\'\" & Beskrivelse & \"\' WHERE KID=\" & KID
conn.execute(sql)
sql = \"SELECT LID FROM LokalerKombi WHERE KID=\" & KID
set rs = conn.execute(sql)
LID = rs(\"LID\") \'Der skulle helst kun vaere een post !!!
rs.close
sql = \"UPDATE Lokaler SET LokaleNavn=\'\" & LokaleNavn & \"\' WHERE LID=\" & LID
conn.execute(sql)
if Err <> 0 then
response.write \"Fejl: \" & Err.Description
conn.RollbackTrans
response.write \"<h3>Lokalet blev ikke redigeret</h3>\"
response.end
else
conn.CommitTrans
response.write \"<h3>Lokalet er redigeret</h3>\"
end if
conn.close