Håndtere flere inserts før jeg commit'er
HejJeg sidder og har brug for lidt hjælp til nogle INSERT's ...
Jeg har brug for at vide om alle mine INSERT's er gået godt, hvorefter de må skrives til databasen.
Jeg har siddet og rodet med noget kode...
<code>
Class Connection
Private mConn
Private mBlnQueryExecutedSuccessfully
Private mLastInsertID
Private cmd
Private Sub Class_Initialize()
Set cmd = Server.CreateObject("adodb.Command")
cmd.ActiveConnection = "DRIVER={mysql};SERVER=MinServier;DATABASE=myDb;UID=root;PWD=; "
End Sub
Private Sub Class_Terminate()
Set cmd.ActiveConnection = Nothing
Set cmd = Nothing
End Sub
Public Function runSQL(ByVal strSQL, ByVal blnAutoCommitTrans)
On Error Resume Next
cmd.ActiveConnection.BeginTrans
cmd.CommandText = strSQL
cmd.CommandType = 1
cmd.Execute true, , 128
If Err <> 0 then
cmd.ActiveConnection.RollBackTrans
Dim ErrorSource, ErrorLine, ErrorDescription
ErrorSource = Err.Source
ErrorDescription = Err.Description
response.write ErrorSource &"<br>"
response.write ErrorDescription &"<br>"
mBlnQueryExecutedSuccessfully = False
Else
mBlnQueryExecutedSuccessfully = True
If( blnAutoCommitTrans ) Then SaveChanges()
End If
End Function
Public Function SaveChanges()
cmd.ActiveConnection.CommitTrans
End Function
End Class
</code>
med BEGINTRANS og COMMITRANS.... Men har ikke fået det til at virke...
Får fejlen:
<code>Microsoft OLE DB Provider for ODBC Drivers
Cannot start more transactions on this session</code>
rammer classen med følgende kode, hvorved jeg får fejlen...
<code>
Set Conn = new Connection
SQL = "INSERT INTO componentfile_tbl(componentID, componentFile) VALUES ( 3, '/minfolder/minfil.asp' ) "
Conn.runSQL(SQL, True)
SQL = "INSERT INTO componentfile_tbl(componentID, componentFile) VALUES ( 28, '/minfolder/minfil.asp' ) "
Conn.runSQL(SQL, True)
</code>
Jeg har læst mig frem til at man ikke kan lave NESTED TRANSACTION på MS OLE DB for ODBC Driver eller sådan noget lign..
Er der nogen som kan hjælpe mig med at komme frem til en løsning, hvor jeg kan udføre føre min SQL's, hvis alle går godt...
Håber på hjælp
Gliczynski