Hoi,
Ik ben bezig om een soort van wrapper class te maken om via ADO een connectie te maken met een database (in dit geval Access). Nu werkt alles prima, maar ik wil ook een mogelijkheid bieden de Affected Rows weer te geven na een update, insert, delete (nog meer?) statement. Ik gebruik hiervoor de Execute functie van het ADO Connection object, deze heeft de volgende syntax:
Dat is in dit geval ASP, maar het idee blijft het zelfde. Nu heb ik dus in PHP het volgende:
Hier is QueryResult mijn resultset, Link het ADO Connection object, inQuery de query zelf en AffectedRows spreekt voor zich neem ik aan.
Maar na het uitvoeren van bijvoorbeeld een update of een insert statement, bevat AffectedRows niet de gewenste waarde maar de waarde die bij het maken van het object was gegeven (in mijn geval 0).
Ik heb het zonder reference geprobeerd, met reference, een lokale variabele... er gebeurd niks mee
Ik hoopte dat iemand hier wellicht een idee had?
-Edit-
Ik heb nog verder gezocht op Google en op een of andere site werd gesteld dat ik een VARIANT object mee most geven. Dat heb ik nu dus:
MAAR, daar krijg ik dus als AffectedRows de waarde 7779424 waar ik eigenlijk 2 verwachtte
Kortom, dat werkt ook niet.. tenzij ik het weer fout doe
Ik ben bezig om een soort van wrapper class te maken om via ADO een connectie te maken met een database (in dit geval Access). Nu werkt alles prima, maar ik wil ook een mogelijkheid bieden de Affected Rows weer te geven na een update, insert, delete (nog meer?) statement. Ik gebruik hiervoor de Execute functie van het ADO Connection object, deze heeft de volgende syntax:
code:
1
| Set objrs=objconn.Execute(commandtext,ra,options) |
Dat is in dit geval ASP, maar het idee blijft het zelfde. Nu heb ik dus in PHP het volgende:
code:
1
| $this->QueryResult = $this->Link->Execute( $inQuery, &$this->AffectedRows); |
Hier is QueryResult mijn resultset, Link het ADO Connection object, inQuery de query zelf en AffectedRows spreekt voor zich neem ik aan.
Maar na het uitvoeren van bijvoorbeeld een update of een insert statement, bevat AffectedRows niet de gewenste waarde maar de waarde die bij het maken van het object was gegeven (in mijn geval 0).
Ik heb het zonder reference geprobeerd, met reference, een lokale variabele... er gebeurd niks mee
-Edit-
Ik heb nog verder gezocht op Google en op een of andere site werd gesteld dat ik een VARIANT object mee most geven. Dat heb ik nu dus:
code:
1
2
3
| $Vrows = new VARIANT( 0, VT_I4|VT_BYREF); $this->QueryResult = $this->Link->Execute( $inQuery, $Vrows); $this->AffectedRows = $Vrows->value; |
MAAR, daar krijg ik dus als AffectedRows de waarde 7779424 waar ik eigenlijk 2 verwachtte
Kortom, dat werkt ook niet.. tenzij ik het weer fout doe
"There are 10 kinds of people in the world, those who understand binary and those who don't" | Werkbak specs