CMssqlPdoAdapter


system.db.schema.mssql
继承 class CMssqlPdoAdapter » PDO
版本 $Id: CMssqlPdoAdapter.php 3515 2011-12-28 12:29:24Z mdomba $
源码
这是一个仅为MSSQL驱动而写的默认PDO类的扩展。 它提供了一些PDO驱动缺少的功能。

公共方法

方法 描述 定义在
__construct() PDO
__sleep() PDO
__wakeup() PDO
beginTransaction() 开始一个事务。 CMssqlPdoAdapter
commit() 提交一个事务。 CMssqlPdoAdapter
errorCode() PDO
errorInfo() PDO
exec() PDO
getAttribute() PDO
getAvailableDrivers() PDO
inTransaction() PDO
lastInsertId() 获取最后插入id值。 CMssqlPdoAdapter
prepare() PDO
query() PDO
quote() PDO
rollBack() 回滚一个事务。 CMssqlPdoAdapter
setAttribute() PDO

方法详细

beginTransaction() 方法
public boolean beginTransaction()
{return} boolean
public function beginTransaction ()
{
    
$this->exec('BEGIN TRANSACTION');
    return 
true;
}

开始一个事务。

有必要重写PDO的方法,因为 MSSQL的PDO驱动不支持事务。

commit() 方法
public boolean commit()
{return} boolean
public function commit ()
{
    
$this->exec('COMMIT TRANSACTION');
    return 
true;
}

提交一个事务。

有必要重写PDO的方法,因为 MSSQL的PDO驱动不支持事务。

lastInsertId() 方法
public integer lastInsertId(string|null $sequence=NULL)
$sequence string|null 序列名,默认为null。
{return} integer 最后插入id
public function lastInsertId ($sequence=NULL)
{
    
$value=$this->query('SELECT SCOPE_IDENTITY()')->fetchColumn();
    
$value=preg_replace('/[,.]0+$/'''$value); // issue 2312
    
return strtr($value,array(','=>'','.'=>''));
}

获取最后插入id值。 MSSQL不支持序列,所以参数被忽略。

rollBack() 方法
public boolean rollBack()
{return} boolean
public function rollBack ()
{
    
$this->exec('ROLLBACK TRANSACTION');
    return 
true;
}

回滚一个事务。

有必要重写PDO的方法,因为 MSSQL的PDO驱动不支持事务。