/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
ADO Transaction CommitTrans fejl ønskes
Fra : Nikolaj Rasmussen


Dato : 28-09-02 12:07

Davser, jeg har problem som jeg har simuleret i nedenstående kode.
Der er 2stk af alt for at simulere 2stk brugere som gør noget præcis
samtidig,
nemlig det at skulle hente et nyt ID til en table-record som jeg på et
senere tidspunkt
vil indsætte.

"DataConnection2.CommitTrans" (*2)
Denne linie burde fejle, da DataConnection først blev sat i BeginTrans (se
*), denne fejler bare ikke,
men gør heller ikke noget, men eftersom jeg ik rigtigt kan få noget som
helst response fra functionen så
aner jeg ligesom heller ikke om der er hentet et ny valid id, for den
tilhørende LAST_ID er jo incrementet i memory.

What do I do? :)


<%
Dim NextID, NextID2

Dim DataConnection, DataConnection2, cmdDC, cmdDC2, rs, rs2
Dim RecordToEdit, Updated, strUserName, strPassword

Set DataConnection = Server.CreateObject("ADODB.Connection")
DataConnection.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("..\Users.mdb") & ";"

Set DataConnection2 = Server.CreateObject("ADODB.Connection")
DataConnection2.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & _
"DBQ=" & Server.MapPath("..\Users.mdb") & ";"

Set cmdDC = Server.CreateObject("ADODB.Command")
Set cmdDC2 = Server.CreateObject("ADODB.Command")
cmdDC.ActiveConnection = DataConnection
cmdDC2.ActiveConnection = DataConnection2

Set rs = Server.CreateObject("ADODB.RecordSet")
Set rs2 = Server.CreateObject("ADODB.RecordSet")

cmdDC.CommandText = "SELECT LAST_ID FROM SYSTEM_ITEMS WHERE ID=3"
cmdDC2.CommandText = "SELECT LAST_ID FROM SYSTEM_ITEMS WHERE ID=3"
DataConnection.BeginTrans ' <--------- *1
DataConnection2.BeginTrans

rs.Open cmdDC, , 1, 3
rs("LAST_ID")=rs("LAST_ID")+1
rs.update

rs2.Open cmdDC, , 1, 3
rs2("LAST_ID")=rs2("LAST_ID")+1
rs.update

NextID=rs("LAST_ID")
NextID2=rs2("LAST_ID")

DataConnection.CommitTrans
DataConnection2.CommitTrans ' <---------- *2
%>


mvh
Nikolaj Rasmussen



 
 
Nikolaj Rasmussen (28-09-2002)
Kommentar
Fra : Nikolaj Rasmussen


Dato : 28-09-02 12:12

En fejl er
> rs2.Open cmdDC, , 1, 3
> rs2("LAST_ID")=rs2("LAST_ID")+1
> rs.update
skulle ændres til
> rs2.Open cmdDC, , 1, 3
> rs2("LAST_ID")=rs2("LAST_ID")+1
> rs2.update

men nu bliver begge CommitTrans udført?!?! Burde ikke kunne ske :(


"Nikolaj Rasmussen" <tro@paa.det> wrote in message
news:3d958d67$0$18161$edfadb0f@dspool01.news.tele.dk...
> Davser, jeg har problem som jeg har simuleret i nedenstående kode.
> Der er 2stk af alt for at simulere 2stk brugere som gør noget præcis
> samtidig,
> nemlig det at skulle hente et nyt ID til en table-record som jeg på et
> senere tidspunkt
> vil indsætte.
>
> "DataConnection2.CommitTrans" (*2)
> Denne linie burde fejle, da DataConnection først blev sat i BeginTrans (se
> *), denne fejler bare ikke,
> men gør heller ikke noget, men eftersom jeg ik rigtigt kan få noget som
> helst response fra functionen så
> aner jeg ligesom heller ikke om der er hentet et ny valid id, for den
> tilhørende LAST_ID er jo incrementet i memory.
>
> What do I do? :)
>
>
> <%
> Dim NextID, NextID2
>
> Dim DataConnection, DataConnection2, cmdDC, cmdDC2, rs, rs2
> Dim RecordToEdit, Updated, strUserName, strPassword
>
> Set DataConnection = Server.CreateObject("ADODB.Connection")
> DataConnection.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & _
> "DBQ=" & Server.MapPath("..\Users.mdb") & ";"
>
> Set DataConnection2 = Server.CreateObject("ADODB.Connection")
> DataConnection2.Open "DRIVER={Microsoft Access Driver (*.mdb)};" & _
> "DBQ=" & Server.MapPath("..\Users.mdb") & ";"
>
> Set cmdDC = Server.CreateObject("ADODB.Command")
> Set cmdDC2 = Server.CreateObject("ADODB.Command")
> cmdDC.ActiveConnection = DataConnection
> cmdDC2.ActiveConnection = DataConnection2
>
> Set rs = Server.CreateObject("ADODB.RecordSet")
> Set rs2 = Server.CreateObject("ADODB.RecordSet")
>
> cmdDC.CommandText = "SELECT LAST_ID FROM SYSTEM_ITEMS WHERE ID=3"
> cmdDC2.CommandText = "SELECT LAST_ID FROM SYSTEM_ITEMS WHERE ID=3"
> DataConnection.BeginTrans ' <--------- *1
> DataConnection2.BeginTrans
>
> rs.Open cmdDC, , 1, 3
> rs("LAST_ID")=rs("LAST_ID")+1
> rs.update
>
> rs2.Open cmdDC, , 1, 3
> rs2("LAST_ID")=rs2("LAST_ID")+1
> rs.update
>
> NextID=rs("LAST_ID")
> NextID2=rs2("LAST_ID")
>
> DataConnection.CommitTrans
> DataConnection2.CommitTrans ' <---------- *2
> %>
>
>
> mvh
> Nikolaj Rasmussen
>
>



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408952
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste