webForumDet fria alternativet

transaktion

5 svar · 212 visningar · startad av udden

uddenMedlem sedan mars 200174 inlägg
#1

går det att lägga mer än en execute i varje felkoll? Eller stannar hela exekveringen då vid första felet?

CatZMedlem sedan jan. 20022 440 inlägg
#2

OnErrorResumeNext ?

LarsGMedlem sedan dec. 200012 464 inlägg
#3

Du måste alltid kontrollera eventuella felkoder efter varje anrop. Cad är det du vill göra?

uddenMedlem sedan mars 200174 inlägg
#4

ok. vad jag vill göra är inläggning av en order, vilket resulterar i totalt 5 olika insert i olika tabeller. tänkte att det kanske räckte med

begintrans
on error resume next

alla conn.exec insert...

om felkod <> 0
rollback
...
err.clear

annars
commit

då jag inte eg bryr mig om vilken av dem som orsakar fel. tänker jag rätt eller går detta inte?

upptäckt nytt problem också, men skapar ny tråd med detta (transaktion och identity)

LarsGMedlem sedan dec. 200012 464 inlägg
#5

Nej, som sagt det håller inte

Man kan göra på lite olika sätt ...

begintrans
on error resume next

conn.exec insert...

om felkod = 0 conn.exec insert...

om felkod = 0 conn.exec insert...

om felkod = 0 conn.exec insert...

om felkod = 0 conn.exec insert...
 
om felkod = 0
commit 
annars
rollback
slut om

Det beror lite på i vilket språk man arbetar, VB-script är lite yxigt.

uddenMedlem sedan mars 200174 inlägg
#6

okej. förstår lite bättre nu, mha trial and error så att säga. är ruskigt farligt att använda on error och sen strunta att kolla, min tabell uppförde sig mycket märkligt med nycklar, men ibland får man väl lära sig det den hårda vägen PUST!

när jag sedan la in kollen vid varje conn.execute så blev det ordning på torpet igen, korrekta felmeddelande som var enkla att rätta.

tack för hjälpen

128 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
125 ms — hämta tråd, inlägg och bilagor (db)