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