包 | 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驱动不支持事务。