Avatar billede twister2010 Nybegynder
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
Avatar billede stigc Nybegynder
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!
Avatar billede stig3 Mester
23. maj 2001 - 10:31 #2
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
Avatar billede twister2010 Nybegynder
23. maj 2001 - 11:33 #3
Det kan jeg desværre ikke bruge da min connection ligger i en dll.
Avatar billede stig3 Mester
23. maj 2001 - 11:34 #4
okaj
Avatar billede twister2010 Nybegynder
18. oktober 2001 - 10:43 #5
Beklager drenge
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester