当前位置: 首页>>代码示例>>PHP>>正文


PHP PHPUnit_Extensions_Database_DB_IDatabaseConnection::createDataSet方法代码示例

本文整理汇总了PHP中PHPUnit_Extensions_Database_DB_IDatabaseConnection::createDataSet方法的典型用法代码示例。如果您正苦于以下问题:PHP PHPUnit_Extensions_Database_DB_IDatabaseConnection::createDataSet方法的具体用法?PHP PHPUnit_Extensions_Database_DB_IDatabaseConnection::createDataSet怎么用?PHP PHPUnit_Extensions_Database_DB_IDatabaseConnection::createDataSet使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在PHPUnit_Extensions_Database_DB_IDatabaseConnection的用法示例。


在下文中一共展示了PHPUnit_Extensions_Database_DB_IDatabaseConnection::createDataSet方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: execute

    /**
     * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
     * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
     */
    public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
    {
        $databaseDataSet = $connection->createDataSet();

        $dsIterator = $this->iteratorDirection == self::ITERATOR_TYPE_REVERSE ? $dataSet->getReverseIterator() : $dataSet->getIterator();

        foreach ($dsIterator as $table) {
            /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
            $databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName());
            $query                 = $this->buildOperationQuery($databaseTableMetaData, $table, $connection);

            if ($query === FALSE && $table->getRowCount() > 0) {
                throw new PHPUnit_Extensions_Database_Operation_Exception($this->operationName, '', array(), $table, "Rows requested for insert, but no columns provided!");
            }

            $statement = $connection->getConnection()->prepare($query);
            $rowCount  = $table->getRowCount();

            for ($i = 0; $i < $rowCount; $i++) {
                $args = $this->buildOperationArguments($databaseTableMetaData, $table, $i);

                try {
                    $statement->execute($args);
                }

                catch (Exception $e) {
                    throw new PHPUnit_Extensions_Database_Operation_Exception(
                      $this->operationName, $query, $args, $table, $e->getMessage()
                    );
                }
            }
        }
    }
开发者ID:schwarer2006,项目名称:wikia,代码行数:37,代码来源:RowBased.php

示例2: execute

 /**
  * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
  * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
  */
 public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
 {
     $databaseDataSet = $connection->createDataSet();
     foreach ($dataSet as $table) {
         /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
         $databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName());
         $query = $this->buildOperationQuery($databaseTableMetaData, $table, $connection);
         $statement = $connection->getConnection()->prepare($query);
         for ($i = 0; $i < $table->getRowCount(); $i++) {
             $args = $this->buildOperationArguments($databaseTableMetaData, $table, $i);
             try {
                 $statement->execute($args);
             } catch (Exception $e) {
                 throw new PHPUnit_Extensions_Database_Operation_Exception($this->operationName, $query, $args, $table, $e->getMessage());
             }
         }
     }
 }
开发者ID:ahmedadham88,项目名称:enhanced-social-network,代码行数:22,代码来源:RowBased.php

示例3: execute

 /**
  * @param PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection
  * @param PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet
  */
 public function execute(PHPUnit_Extensions_Database_DB_IDatabaseConnection $connection, PHPUnit_Extensions_Database_DataSet_IDataSet $dataSet)
 {
     $insertOperation = new PHPUnit_Extensions_Database_Operation_Insert();
     $updateOperation = new PHPUnit_Extensions_Database_Operation_Update();
     $databaseDataSet = $connection->createDataSet();
     foreach ($dataSet as $table) {
         /* @var $table PHPUnit_Extensions_Database_DataSet_ITable */
         $databaseTableMetaData = $databaseDataSet->getTableMetaData($table->getTableMetaData()->getTableName());
         $insertQuery = $insertOperation->buildOperationQuery($databaseTableMetaData, $table, $connection);
         $updateQuery = $updateOperation->buildOperationQuery($databaseTableMetaData, $table, $connection);
         $selectQuery = $this->buildOperationQuery($databaseTableMetaData, $table, $connection);
         $insertStatement = $connection->getConnection()->prepare($insertQuery);
         $updateStatement = $connection->getConnection()->prepare($updateQuery);
         $selectStatement = $connection->getConnection()->prepare($selectQuery);
         $rowCount = $table->getRowCount();
         for ($i = 0; $i < $rowCount; $i++) {
             $selectArgs = $this->buildOperationArguments($databaseTableMetaData, $table, $i);
             $query = $selectQuery;
             $args = $selectArgs;
             try {
                 $selectStatement->execute($selectArgs);
                 if ($selectStatement->fetchColumn(0) > 0) {
                     $updateArgs = $updateOperation->buildOperationArguments($databaseTableMetaData, $table, $i);
                     $query = $updateQuery;
                     $args = $updateArgs;
                     $updateStatement->execute($updateArgs);
                 } else {
                     $insertArgs = $insertOperation->buildOperationArguments($databaseTableMetaData, $table, $i);
                     $query = $insertQuery;
                     $args = $insertArgs;
                     $insertStatement->execute($insertArgs);
                 }
             } catch (Exception $e) {
                 throw new PHPUnit_Extensions_Database_Operation_Exception($this->operationName, $query, $args, $table, $e->getMessage());
             }
         }
     }
 }
开发者ID:qcodo,项目名称:qcodo,代码行数:42,代码来源:Replace.php


注:本文中的PHPUnit_Extensions_Database_DB_IDatabaseConnection::createDataSet方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。