类 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() | 启动事务。需要重写 PDO 的方法,因为 MSSQL PDO 驱动程序本身不支持事务。 | yii\db\mssql\PDO |
commit() | 提交事务。需要重写 PDO 的方法,因为 MSSQL PDO 驱动程序本身不支持事务。 | yii\db\mssql\PDO |
getAttribute() | 检索数据库连接属性。 | yii\db\mssql\PDO |
lastInsertId() | 返回最后插入 ID 的值。 | yii\db\mssql\PDO |
rollBack() | 回滚事务。需要重写 PDO 的方法,因为 MSSQL PDO 驱动程序本身不支持事务。 | yii\db\mssql\PDO |
方法详情
启动事务。需要重写 PDO 的方法,因为 MSSQL PDO 驱动程序本身不支持事务。
public boolean beginTransaction ( ) | ||
返回值 | boolean |
事务启动的结果。 |
---|
#[\ReturnTypeWillChange]
public function beginTransaction()
{
$this->exec('BEGIN TRANSACTION');
return true;
}
提交事务。需要重写 PDO 的方法,因为 MSSQL PDO 驱动程序本身不支持事务。
public boolean commit ( ) | ||
返回值 | boolean |
事务提交的结果。 |
---|
#[\ReturnTypeWillChange]
public function commit()
{
$this->exec('COMMIT TRANSACTION');
return true;
}
检索数据库连接属性。
需要重写 PDO 的方法,因为某些 MSSQL PDO 驱动程序(例如 dblib)不支持获取属性。
public mixed getAttribute ( $attribute ) | ||
$attribute | integer |
PDO::ATTR_* 常量之一。 |
返回值 | 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。 |
返回值 | integer |
最后插入的 ID 值。 |
---|
#[\ReturnTypeWillChange]
public function lastInsertId($sequence = null)
{
return $this->query('SELECT CAST(COALESCE(SCOPE_IDENTITY(), @@IDENTITY) AS bigint)')->fetchColumn();
}
注册 或者 登录 才能发表评论。