|
| 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
>
>
| |
|
|