類別 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 |
方法詳情
開始一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。
public boolean beginTransaction ( ) | ||
return | boolean |
事務開始的結果。 |
---|
#[\ReturnTypeWillChange]
public function beginTransaction()
{
$this->exec('BEGIN TRANSACTION');
return true;
}
提交一個事務。由於 MSSQL PDO 驅動程式本身不支援事務,因此有必要覆蓋 PDO 的方法。
public boolean commit ( ) | ||
return | boolean |
事務提交的結果。 |
---|
#[\ReturnTypeWillChange]
public function commit()
{
$this->exec('COMMIT TRANSACTION');
return true;
}
檢索資料庫連線屬性。
由於某些 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;
}
}
}
傳回最後插入 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();
}
註冊 或 登入 以發表評論。