diff options
Diffstat (limited to 'framework/Data/SqlMap')
-rw-r--r-- | framework/Data/SqlMap/Statements/TPreparedCommand.php | 9 | ||||
-rw-r--r-- | framework/Data/SqlMap/Statements/TPreparedStatement.php | 37 |
2 files changed, 23 insertions, 23 deletions
diff --git a/framework/Data/SqlMap/Statements/TPreparedCommand.php b/framework/Data/SqlMap/Statements/TPreparedCommand.php index 59a58b5d..1e6906a1 100644 --- a/framework/Data/SqlMap/Statements/TPreparedCommand.php +++ b/framework/Data/SqlMap/Statements/TPreparedCommand.php @@ -6,7 +6,7 @@ * @link http://www.pradosoft.com/ * @copyright Copyright © 2005-2013 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TPreparedCommand.php 3245 2013-01-07 20:23:32Z ctrlaltca $ + * @version $Id: TPreparedCommand.php 3261 2013-01-22 22:36:51Z ctrlaltca $ * @package System.Data.SqlMap.Statements */ @@ -17,7 +17,7 @@ Prado::using('System.Data.Common.TDbCommandBuilder'); * TPreparedCommand class. * * @author Wei Zhuo <weizho[at]gmail[dot]com> - * @version $Id: TPreparedCommand.php 3245 2013-01-07 20:23:32Z ctrlaltca $ + * @version $Id: TPreparedCommand.php 3261 2013-01-22 22:36:51Z ctrlaltca $ * @package System.Data.SqlMap.Statements * @since 3.1 */ @@ -47,9 +47,10 @@ class TPreparedCommand protected function applyParameterMap($manager,$command,$prepared, $statement, $parameterObject) { - $properties = $prepared->getParameterNames(); - $parameters = $prepared->getParameterValues(); + $properties = $prepared->getParameterNames(false); + //$parameters = $prepared->getParameterValues(); $registry=$manager->getTypeHandlers(); + if ($properties) for($i = 0, $k=$properties->getCount(); $i<$k; $i++) { $property = $statement->parameterMap()->getProperty($i); diff --git a/framework/Data/SqlMap/Statements/TPreparedStatement.php b/framework/Data/SqlMap/Statements/TPreparedStatement.php index f46994ab..4127eae0 100644 --- a/framework/Data/SqlMap/Statements/TPreparedStatement.php +++ b/framework/Data/SqlMap/Statements/TPreparedStatement.php @@ -6,7 +6,7 @@ * @link http://www.pradosoft.com/ * @copyright Copyright © 2005-2013 PradoSoft * @license http://www.pradosoft.com/license/ - * @version $Id: TPreparedStatement.php 3245 2013-01-07 20:23:32Z ctrlaltca $ + * @version $Id: TPreparedStatement.php 3261 2013-01-22 22:36:51Z ctrlaltca $ * @package System.Data.SqlMap.Statements */ @@ -14,7 +14,7 @@ * TpreparedStatement class. * * @author Wei Zhuo <weizho[at]gmail[dot]com> - * @version $Id: TPreparedStatement.php 3245 2013-01-07 20:23:32Z ctrlaltca $ + * @version $Id: TPreparedStatement.php 3261 2013-01-22 22:36:51Z ctrlaltca $ * @package System.Data.SqlMap.Statements * @since 3.1 */ @@ -24,33 +24,32 @@ class TPreparedStatement extends TComponent private $_parameterNames; private $_parameterValues; - public function __construct() - { - $this->_parameterNames=new TList; - $this->_parameterValues=new TMap; - } - public function getPreparedSql(){ return $this->_sqlString; } public function setPreparedSql($value){ $this->_sqlString = $value; } - public function getParameterNames(){ return $this->_parameterNames; } - public function setParameterNames($value){ $this->_parameterNames = $value; } + public function getParameterNames($needed = true) + { + if (!$this->_parameterNames and $needed) + $this->_parameterNames = new TList; + return $this->_parameterNames; + } - public function getParameterValues(){ return $this->_parameterValues; } - public function setParameterValues($value){ $this->_parameterValues = $value; } + public function setParameterNames($value){ $this->_parameterNames = $value; } - public function __wakeup() - { - parent::__wakeup(); - if (!$this->_parameterNames) $this->_parameterNames = new TList; - if (!$this->_parameterValues) $this->_parameterValues = new TMap; + public function getParameterValues($needed = true) + { + if (!$this->_parameterValues and $needed) + $this->_parameterValues=new TMap; + return $this->_parameterValues; } + + public function setParameterValues($value){ $this->_parameterValues = $value; } public function __sleep() { $exprops = array(); $cn = __CLASS__; - if (!$this->_parameterNames->getCount()) $exprops[] = "\0$cn\0_parameterNames"; - if (!$this->_parameterValues->getCount()) $exprops[] = "\0$cn\0_parameterValues"; + if (!$this->_parameterNames or !$this->_parameterNames->getCount()) $exprops[] = "\0$cn\0_parameterNames"; + if (!$this->_parameterValues or !$this->_parameterValues->getCount()) $exprops[] = "\0$cn\0_parameterValues"; return array_diff(parent::__sleep(),$exprops); } } |