diff options
author | wei <> | 2007-05-08 07:49:50 +0000 |
---|---|---|
committer | wei <> | 2007-05-08 07:49:50 +0000 |
commit | 3392e51b4edf84682b66ce9e32d00c1adb3205bb (patch) | |
tree | c8263f0d8e6d7b4d28cf69ce48d6beea37b96ed9 /framework/Data/SqlMap/Statements/TPreparedCommand.php | |
parent | 84863ce89a1a712aa00df5c33227cecafded881a (diff) |
Fixed sqlmap query with limit and offsets.
Diffstat (limited to 'framework/Data/SqlMap/Statements/TPreparedCommand.php')
-rw-r--r-- | framework/Data/SqlMap/Statements/TPreparedCommand.php | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/framework/Data/SqlMap/Statements/TPreparedCommand.php b/framework/Data/SqlMap/Statements/TPreparedCommand.php index 7bb68c79..ff5fd6ff 100644 --- a/framework/Data/SqlMap/Statements/TPreparedCommand.php +++ b/framework/Data/SqlMap/Statements/TPreparedCommand.php @@ -10,6 +10,8 @@ * @package System.Data.SqlMap.Statements
*/
+Prado::using('System.Data.Common.TDbMetaData');
+
/**
* TPreparedCommand class.
*
@@ -20,11 +22,17 @@ */
class TPreparedCommand
{
- public function create(TSqlMapManager $manager, $connection, $statement, $parameterObject)
+ public function create(TSqlMapManager $manager, $connection, $statement, $parameterObject,$skip=null,$max=null)
{
$prepared = $statement->getSQLText()->getPreparedStatement($parameterObject);
$connection->setActive(true);
- $command = $connection->createCommand($prepared->getPreparedSql());
+ $sql = $prepared->getPreparedSql();
+ if($max!==null || $skip!==null)
+ {
+ $builder = TDbMetaData::getInstance($connection)->createCommandBuilder();
+ $sql = $builder->applyLimitOffset($sql,$max,$skip);
+ }
+ $command = $connection->createCommand($sql);
$this->applyParameterMap($manager, $command, $prepared, $statement, $parameterObject);
return $command;
}
|