From 18ea316c553f7ccfc18b73f0c987de007f11b275 Mon Sep 17 00:00:00 2001 From: wei <> Date: Mon, 4 Dec 2006 00:02:23 +0000 Subject: Fixed #469 --- .../Data/SqlMap/Statements/TPreparedCommand.php | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 framework/Data/SqlMap/Statements/TPreparedCommand.php (limited to 'framework/Data/SqlMap/Statements/TPreparedCommand.php') diff --git a/framework/Data/SqlMap/Statements/TPreparedCommand.php b/framework/Data/SqlMap/Statements/TPreparedCommand.php new file mode 100644 index 00000000..5a8041ae --- /dev/null +++ b/framework/Data/SqlMap/Statements/TPreparedCommand.php @@ -0,0 +1,29 @@ +getSQLText()->getPreparedStatement($parameterObject); + $connection->setActive(true); + $command = $connection->createCommand($prepared->getPreparedSql()); + $this->applyParameterMap($manager, $command, $prepared, $statement, $parameterObject); + return $command; + } + + protected function applyParameterMap($manager,$command,$prepared, $statement, $parameterObject) + { + $properties = $prepared->getParameterNames(); + $parameters = $prepared->getParameterValues(); + $registry=$manager->getTypeHandlers(); + for($i = 0, $k=$properties->getCount(); $i<$k; $i++) + { + $property = $statement->parameterMap()->getProperty($i); + $value = $statement->parameterMap()->getPropertyValue($registry,$property, $parameterObject); + $command->bindValue($i+1,$value); + } + } +} + +?> \ No newline at end of file -- cgit v1.2.3