Avatar billede henrik2000 Nybegynder
22. oktober 2001 - 07:30 Der er 4 kommentarer og
1 løsning

fejlhåndtering inden skrivning i database

Hej!
jeg har en asp-side hvor jeg indsætter i en database via nogle insert-statements, men nogle gange går det galt i f.eks. sql2, men så har den allerede indsat i sql1, og det giver problemer. Hvordan forhindrer man at der bliver skrevet i databasen hvis der opstår fejl i f.eks. den sidste insert-statement?

Min kode ser således ud:

<%
set conn = Server.CreateObject(\"ADODB.Connection\")
conn.Open Application(\"Connection\")
sql1=\"INSERT INTO ...\"
sql2=\"INSERT INTO ...\"
conn.Execute(sql1)
conn.Execute(sql2)

set rs = Nothing
conn.Close
set conn = Nothing
%>
Avatar billede jpk Nybegynder
22. oktober 2001 - 08:28 #1
Du kan indsætte koden:
On Error Resume Next
hvis du vil have scriptet skal fortsætte ved fejl!
Avatar billede jpk Nybegynder
22. oktober 2001 - 08:31 #2
Ahh, nu forstår jeg...

Du skal lave en transaktion!
1) Du starter transaktionen
2) Du indsætter
3) Du committer

Hvis der opstår fejl undervejs, skal du ikke kalde commit, men istedet rollback.

Jeg kan ikke huske præcis hvad funktionerne hedder, men sikkert \'BeginTrans\' og \'CommitTrans\'...
Avatar billede henrik2000 Nybegynder
22. oktober 2001 - 08:36 #3
Du har vel ikke et forenklet kodeks på det?

eller ved du hvor man finde det?

Avatar billede henrik2000 Nybegynder
22. oktober 2001 - 08:40 #4
Avatar billede jpk Nybegynder
22. oktober 2001 - 08:43 #5
Præcis!
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