0 追蹤者

類別 yii\db\mssql\PDO

繼承yii\db\mssql\PDO » PDO
自版本起可用2.0
原始碼 https://github.com/yiisoft/yii2/blob/master/framework/db/mssql/PDO.php

這是 MSSQL 和 DBLIB 驅動程式預設 PDO 類別的擴展。

它為 MSSQL 和 DBLIB 驅動程式不正確實作的功能提供解決方案。

公共方法

隱藏繼承的方法

方法 描述 定義者
beginTransaction() 開始一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。 yii\db\mssql\PDO
commit() 提交一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。 yii\db\mssql\PDO
getAttribute() 檢索資料庫連線屬性。 yii\db\mssql\PDO
lastInsertId() 傳回最後插入 ID 的值。 yii\db\mssql\PDO
rollBack() 回滾一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。 yii\db\mssql\PDO

方法詳情

隱藏繼承的方法

beginTransaction() public method

開始一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。

public boolean beginTransaction ( )
return boolean

事務開始的結果。

                #[\ReturnTypeWillChange]
public function beginTransaction()
{
    $this->exec('BEGIN TRANSACTION');
    return true;
}

            
commit() public method

提交一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。

public boolean commit ( )
return boolean

事務提交的結果。

                #[\ReturnTypeWillChange]
public function commit()
{
    $this->exec('COMMIT TRANSACTION');
    return true;
}

            
getAttribute() public method

檢索資料庫連線屬性。

由於某些 MSSQL PDO 驅動程式(例如 dblib)不支援取得屬性,因此有必要覆蓋 PDO 的方法。

public mixed getAttribute ( $attribute )
$attribute integer

PDO::ATTR_* 常數之一。

return mixed

成功呼叫會傳回請求的 PDO 屬性的值。不成功的呼叫會傳回 null。

                #[\ReturnTypeWillChange]
public function getAttribute($attribute)
{
    try {
        return parent::getAttribute($attribute);
    } catch (\PDOException $e) {
        switch ($attribute) {
            case self::ATTR_SERVER_VERSION:
                return $this->query("SELECT CAST(SERVERPROPERTY('productversion') AS VARCHAR)")->fetchColumn();
            default:
                throw $e;
        }
    }
}

            
lastInsertId() public method

傳回最後插入 ID 的值。

public integer lastInsertId ( $sequence null )
$sequence string|null

序號名稱。預設為 null。

return integer

最後插入的 ID 值。

                #[\ReturnTypeWillChange]
public function lastInsertId($sequence = null)
{
    return $this->query('SELECT CAST(COALESCE(SCOPE_IDENTITY(), @@IDENTITY) AS bigint)')->fetchColumn();
}

            
rollBack() public method

回滾一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。

public boolean rollBack ( )
return boolean

事務回滾的結果。

                #[\ReturnTypeWillChange]
public function rollBack()
{
    $this->exec('ROLLBACK TRANSACTION');
    return true;
}