Vraag : Het probleem van de transactie

Dit is het Systeem van de Voorraad van de Toegang 2007 met een achterste deel van SQLServer 2005. Ik heb een routine die het veelvoudige posten in het voorraadsysteem doet. Ik heb dubegged het en kreeg het werkend. Zo besliste ik het allen te maken robuuster door een transactie te gebruiken die zou kunnen worden geannuleerd als een probleem occurs.

Shortly na het doen van .BeginTrans I 2 ADODB recordsets opent. Ik vind dat een fout nu voorkomt aangezien de tweede recordset wordt geopend. Ik ruilde rond mijn code zodat de tweede recordset eerst wordt geopend. Zo nu voor komt de fout wanneer het probeert om andere recordset te openen. Met andere woorden, komt de fout voor op welke recordset geopende tweede is. De teruggekeerde fout is -2147467259

I kon mijn code herschrijven zodat recordsets niet tijdens een transactie worden geopend, maar ik mijn code aangezien het is.

Why verlaten en verkiezen te kunnen kan zou ik open met succes één recordset dan een fout op de tweede hebben?

Antwoord : Het probleem van de transactie

Gebruikend de code in de verwante post, overweeg wat gebeurt wanneer adjacent_find left= (22, A) en right= (22, A) naar isDistEqual verzendt (). De afstanden passen aan, maar studentenidentiteitskaart past niet en zo aan
       left.studentName! = right.studentName
is vals. Zo wordt dit paar overgeslagen door adjacent_find.

Zo, zult u niet zelfs van adjacent_find kennen die er zelfs twee ingangen = waren (22, A). Zo, moet u niet zich over het krijgen van 22 voet ongerust maken: A, A, C, D sinds 22, A zal slechts eenmaal worden gezien.
Andere oplossingen  
 
programming4us programming4us