Joomla Platform  13.1
Documentation des API du framework Joomla Platform
 Tout Classes Espaces de nommage Fichiers Fonctions Variables Pages
Référence de la classe JDatabaseDriverSqlsrv
+ Graphe d'héritage de JDatabaseDriverSqlsrv:
+ Graphe de collaboration de JDatabaseDriverSqlsrv:

Liste de tous les membres

Fonctions membres publiques

 __construct ($options)
 __destruct ()
 connect ()
 disconnect ()
 escape ($text, $extra=false)
 connected ()
 dropTable ($tableName, $ifExists=true)
 getAffectedRows ()
 getCollation ()
 getNumRows ($cursor=null)
 getTableColumns ($table, $typeOnly=true)
 getTableCreate ($tables)
 getTableKeys ($table)
 getTableList ()
 getVersion ()
 insertObject ($table, &$object, $key=null)
 insertid ()
 loadResult ()
 execute ()
 replacePrefix ($query, $prefix= '#__')
 select ($database)
 setUTF ()
 transactionCommit ($toSavepoint=false)
 transactionRollback ($toSavepoint=false)
 transactionStart ($asSavepoint=false)
 renameTable ($oldTable, $newTable, $backup=null, $prefix=null)
 lockTable ($tableName)
 unlockTables ()
- Fonctions membres publiques inherited from JDatabaseDriver
 __call ($method, $args)
 alterDbCharacterSet ($dbName)
 createDatabase ($options, $utf=true)
 addDisconnectHandler ($callable)
 getConnection ()
 getCount ()
 getDateFormat ()
 getLog ()
 getTimings ()
 getCallStacks ()
 getMinimum ()
 getNullDate ()
 getPrefix ()
 getExporter ()
 getImporter ()
 getQuery ($new=false)
 getIterator ($column=null, $class= 'stdClass')
 getUTFSupport ()
 hasUTFSupport ()
 isMinimumVersion ()
 loadAssoc ()
 loadAssocList ($key=null, $column=null)
 loadColumn ($offset=0)
 loadNextObject ($class= 'stdClass')
 loadNextRow ()
 loadObject ($class= 'stdClass')
 loadObjectList ($key= '', $class= 'stdClass')
 loadRow ()
 loadRowList ($key=null)
 quote ($text, $escape=true)
 quoteName ($name, $as=null)
 setDebug ($level)
 setQuery ($query, $offset=0, $limit=0)
 truncateTable ($table)
 updateObject ($table, &$object, $key, $nulls=false)
- Fonctions membres publiques inherited from JDatabase
 query ()
 getErrorMsg ($escaped=false)
 getErrorNum ()
 stderr ($showSQL=false)

Fonctions membres publiques statiques

static isSupported ()
- Fonctions membres publiques statiques inherited from JDatabaseDriver
static getConnectors ()
static getInstance ($options=array())
static splitSql ($sql)
- Fonctions membres publiques statiques inherited from JDatabase
static test ()

Attributs publics

 $name = 'sqlsrv'
- Attributs publics inherited from JDatabaseDriver

Fonctions membres protégées

 getTableConstraints ($tableName)
 renameConstraints ($constraints=array(), $prefix=null, $backup=null)
 fetchArray ($cursor=null)
 fetchAssoc ($cursor=null)
 fetchObject ($cursor=null, $class= 'stdClass')
 freeResult ($cursor=null)
 checkFieldExists ($table, $field)
 limit ($query, $limit, $offset)
- Fonctions membres protégées inherited from JDatabaseDriver
 getAlterDbCharacterSet ($dbName)
 getCreateDatabaseQuery ($options, $utf)
 getDatabase ()
 quoteNameStr ($strArr)

Attributs protégés

 $nameQuote = '[]'
 $nullDate = '1900-01-01 00:00:00'
- Attributs protégés inherited from JDatabaseDriver
 $connection
 $count = 0
 $cursor
 $debug = false
 $limit = 0
 $log = array()
 $timings = array()
 $callStacks = array()
 $offset = 0
 $options
 $sql
 $tablePrefix
 $utf = true
 $errorNum = 0
 $errorMsg
 $transactionDepth = 0
 $disconnectHandlers = array()

Attributs protégés statiques

static $dbMinimum = '10.50.1600.1'
- Attributs protégés statiques inherited from JDatabaseDriver
static $instances = array()

Description détaillée

Définition à la ligne 20 du fichier sqlsrv.php.


Documentation des constructeurs et destructeur

JDatabaseDriverSqlsrv::__construct (   $options)

Constructor.

Paramètres:
array$optionsList of options used to configure the connection
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 75 du fichier sqlsrv.php.

{
// Get some basic values from the options.
$options['host'] = (isset($options['host'])) ? $options['host'] : 'localhost';
$options['user'] = (isset($options['user'])) ? $options['user'] : '';
$options['password'] = (isset($options['password'])) ? $options['password'] : '';
$options['database'] = (isset($options['database'])) ? $options['database'] : '';
$options['select'] = (isset($options['select'])) ? (bool) $options['select'] : true;
// Finalize initialisation
}
JDatabaseDriverSqlsrv::__destruct ( )

Destructor.

Depuis:
12.1

Définition à la ligne 93 du fichier sqlsrv.php.

{
$this->disconnect();
}

Documentation des fonctions membres

JDatabaseDriverSqlsrv::checkFieldExists (   $table,
  $field 
)
protected

Method to check and see if a field exists in a table.

Paramètres:
string$tableThe table in which to verify the field.
string$fieldThe field to verify.
Renvoie:
boolean True if the field exists in the table.
Depuis:
12.1

Définition à la ligne 973 du fichier sqlsrv.php.

{
$this->connect();
$table = $this->replacePrefix((string) $table);
$query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = '$table' AND COLUMN_NAME = '$field'" .
" ORDER BY ORDINAL_POSITION";
$this->setQuery($query);
if ($this->loadResult())
{
return true;
}
else
{
return false;
}
}
JDatabaseDriverSqlsrv::connect ( )

Connects to the database if needed.

Renvoie:
void Returns void if the database connected successfully.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 106 du fichier sqlsrv.php.

{
if ($this->connection)
{
return;
}
// Build the connection configuration array.
$config = array(
'Database' => $this->options['database'],
'uid' => $this->options['user'],
'pwd' => $this->options['password'],
'CharacterSet' => 'UTF-8',
'ReturnDatesAsStrings' => true);
// Make sure the SQLSRV extension for PHP is installed and enabled.
if (!function_exists('sqlsrv_connect'))
{
throw new RuntimeException('PHP extension sqlsrv_connect is not available.');
}
// Attempt to connect to the server.
if (!($this->connection = @ sqlsrv_connect($this->options['host'], $config)))
{
throw new RuntimeException('Database sqlsrv_connect failed');
}
// Make sure that DB warnings are not returned as errors.
sqlsrv_configure('WarningsReturnAsErrors', 0);
// If auto-select is enabled select the given database.
if ($this->options['select'] && !empty($this->options['database']))
{
$this->select($this->options['database']);
}
}
JDatabaseDriverSqlsrv::connected ( )

Determines if the connection to the server is active.

Renvoie:
boolean True if connected to the database engine.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 246 du fichier sqlsrv.php.

{
// TODO: Run a blank query here
return true;
}
JDatabaseDriverSqlsrv::disconnect ( )

Disconnects the database.

Renvoie:
void
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 150 du fichier sqlsrv.php.

{
// Close the connection.
if (is_resource($this->connection))
{
foreach ($this->disconnectHandlers as $h)
{
call_user_func_array($h, array( &$this));
}
sqlsrv_close($this->connection);
}
$this->connection = null;
}
JDatabaseDriverSqlsrv::dropTable (   $tableName,
  $ifExists = true 
)

Drops a table from the database.

Paramètres:
string$tableNameThe name of the database table to drop.
boolean$ifExistsOptionally specify that the table must exist before it is dropped.
Renvoie:
JDatabaseDriverSqlsrv Returns this object to support chaining.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 262 du fichier sqlsrv.php.

{
$this->connect();
$query = $this->getQuery(true);
if ($ifExists)
{
$this->setQuery(
'IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = ' . $query->quote($tableName) . ') DROP TABLE ' . $tableName
);
}
else
{
$this->setQuery('DROP TABLE ' . $tableName);
}
$this->execute();
return $this;
}
JDatabaseDriverSqlsrv::escape (   $text,
  $extra = false 
)

Method to escape a string for usage in an SQL statement.

The escaping for MSSQL isn't handled in the driver though that would be nice. Because of this we need to handle the escaping ourselves.

Paramètres:
string$textThe string to be escaped.
boolean$extraOptional parameter to provide extra escaping.
Renvoie:
string The escaped string.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 223 du fichier sqlsrv.php.

{
$result = addslashes($text);
$result = str_replace("\'", "''", $result);
$result = str_replace('\"', '"', $result);
$result = str_replace('\/', '/', $result);
if ($extra)
{
// We need the below str_replace since the search in sql server doesn't recognize _ character.
$result = str_replace('_', '[_]', $result);
}
return $result;
}
JDatabaseDriverSqlsrv::execute ( )

Execute the SQL statement.

Renvoie:
mixed A database cursor resource on success, boolean false on failure.
Depuis:
12.1
Exceptions:
RuntimeException
Exception

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 565 du fichier sqlsrv.php.

Références JLog\add(), JLog\DEBUG, JLog\ERROR, et JText\sprintf().

{
$this->connect();
if (!is_resource($this->connection))
{
JLog::add(JText::sprintf('JLIB_DATABASE_QUERY_FAILED', $this->errorNum, $this->errorMsg), JLog::ERROR, 'database');
throw new RuntimeException($this->errorMsg, $this->errorNum);
}
// Take a local copy so that we don't modify the original query and cause issues later
$query = $this->replacePrefix((string) $this->sql);
if (!($this->sql instanceof JDatabaseQuery) && ($this->limit > 0 || $this->offset > 0))
{
$query = $this->limit($query, $this->limit, $this->offset);
}
// Increment the query counter.
$this->count++;
// Reset the error values.
$this->errorNum = 0;
$this->errorMsg = '';
// If debugging is enabled then let's log the query.
if ($this->debug)
{
// Add the query to the object queue.
$this->log[] = $query;
JLog::add($query, JLog::DEBUG, 'databasequery');
$this->timings[] = microtime(true);
}
// SQLSrv_num_rows requires a static or keyset cursor.
if (strncmp(ltrim(strtoupper($query)), 'SELECT', strlen('SELECT')) == 0)
{
$array = array('Scrollable' => SQLSRV_CURSOR_KEYSET);
}
else
{
$array = array();
}
// Execute the query. Error suppression is used here to prevent warnings/notices that the connection has been lost.
$this->cursor = @sqlsrv_query($this->connection, $query, array(), $array);
if ($this->debug)
{
$this->timings[] = microtime(true);
if (defined('DEBUG_BACKTRACE_IGNORE_ARGS'))
{
$this->callStacks[] = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS);
}
else
{
$this->callStacks[] = debug_backtrace();
}
}
// If an error occurred handle it.
if (!$this->cursor)
{
// Check if the server was disconnected.
if (!$this->connected())
{
try
{
// Attempt to reconnect.
$this->connection = null;
$this->connect();
}
// If connect fails, ignore that exception and throw the normal exception.
catch (RuntimeException $e)
{
// Get the error number and message.
$errors = sqlsrv_errors();
$this->errorNum = $errors[0]['SQLSTATE'];
$this->errorMsg = $errors[0]['message'] . 'SQL=' . $query;
// Throw the normal query exception.
JLog::add(JText::sprintf('JLIB_DATABASE_QUERY_FAILED', $this->errorNum, $this->errorMsg), JLog::ERROR, 'databasequery');
throw new RuntimeException($this->errorMsg, $this->errorNum);
}
// Since we were able to reconnect, run the query again.
return $this->execute();
}
// The server was not disconnected.
else
{
// Get the error number and message.
$errors = sqlsrv_errors();
$this->errorNum = $errors[0]['SQLSTATE'];
$this->errorMsg = $errors[0]['message'] . 'SQL=' . $query;
// Throw the normal query exception.
JLog::add(JText::sprintf('JLIB_DATABASE_QUERY_FAILED', $this->errorNum, $this->errorMsg), JLog::ERROR, 'databasequery');
throw new RuntimeException($this->errorMsg, $this->errorNum);
}
}
return $this->cursor;
}

+ Voici le graphe d'appel pour cette fonction :

JDatabaseDriverSqlsrv::fetchArray (   $cursor = null)
protected

Method to fetch a row from the result set cursor as an array.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
Renvoie:
mixed Either the next row from the result set or false if there are no more rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 915 du fichier sqlsrv.php.

{
return sqlsrv_fetch_array($cursor ? $cursor : $this->cursor, SQLSRV_FETCH_NUMERIC);
}
JDatabaseDriverSqlsrv::fetchAssoc (   $cursor = null)
protected

Method to fetch a row from the result set cursor as an associative array.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
Renvoie:
mixed Either the next row from the result set or false if there are no more rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 929 du fichier sqlsrv.php.

{
return sqlsrv_fetch_array($cursor ? $cursor : $this->cursor, SQLSRV_FETCH_ASSOC);
}
JDatabaseDriverSqlsrv::fetchObject (   $cursor = null,
  $class = 'stdClass' 
)
protected

Method to fetch a row from the result set cursor as an object.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
string$classThe class name to use for the returned row object.
Renvoie:
mixed Either the next row from the result set or false if there are no more rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 944 du fichier sqlsrv.php.

{
return sqlsrv_fetch_object($cursor ? $cursor : $this->cursor, $class);
}
JDatabaseDriverSqlsrv::freeResult (   $cursor = null)
protected

Method to free up the memory used for the result set.

Paramètres:
mixed$cursorThe optional result set cursor from which to fetch the row.
Renvoie:
void
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 958 du fichier sqlsrv.php.

{
sqlsrv_free_stmt($cursor ? $cursor : $this->cursor);
}
JDatabaseDriverSqlsrv::getAffectedRows ( )

Get the number of affected rows for the previous executed SQL statement.

Renvoie:
integer The number of affected rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 291 du fichier sqlsrv.php.

{
$this->connect();
return sqlsrv_rows_affected($this->cursor);
}
JDatabaseDriverSqlsrv::getCollation ( )

Method to get the database collation in use by sampling a text field of a table in the database.

Renvoie:
mixed The collation in use by the database or boolean false if not supported.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 305 du fichier sqlsrv.php.

{
// TODO: Not fake this
return 'MSSQL UTF-8 (UCS2)';
}
JDatabaseDriverSqlsrv::getNumRows (   $cursor = null)

Get the number of returned rows for the previous executed SQL statement.

Paramètres:
resource$cursorAn optional database cursor resource to extract the row count from.
Renvoie:
integer The number of returned rows.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 320 du fichier sqlsrv.php.

{
$this->connect();
return sqlsrv_num_rows($cursor ? $cursor : $this->cursor);
}
JDatabaseDriverSqlsrv::getTableColumns (   $table,
  $typeOnly = true 
)

Retrieves field information about the given tables.

Paramètres:
mixed$tableA table name
boolean$typeOnlyTrue to only return field types.
Renvoie:
array An array of fields.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 338 du fichier sqlsrv.php.

{
$result = array();
$table_temp = $this->replacePrefix((string) $table);
// Set the query to get the table fields statement.
$this->setQuery(
'SELECT column_name as Field, data_type as Type, is_nullable as \'Null\', column_default as \'Default\'' .
' FROM information_schema.columns WHERE table_name = ' . $this->quote($table_temp)
);
$fields = $this->loadObjectList();
// If we only want the type as the value add just that to the list.
if ($typeOnly)
{
foreach ($fields as $field)
{
$result[$field->Field] = preg_replace("/[(0-9)]/", '', $field->Type);
}
}
// If we want the whole field data object add that to the list.
else
{
foreach ($fields as $field)
{
$result[$field->Field] = $field;
}
}
return $result;
}
JDatabaseDriverSqlsrv::getTableConstraints (   $tableName)
protected

Get table constraints

Paramètres:
string$tableNameThe name of the database table.
Renvoie:
array Any constraints available for the table.
Depuis:
12.1

Définition à la ligne 175 du fichier sqlsrv.php.

{
$this->connect();
$query = $this->getQuery(true);
$this->setQuery(
'SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.TABLE_CONSTRAINTS WHERE TABLE_NAME = ' . $query->quote($tableName)
);
return $this->loadColumn();
}
JDatabaseDriverSqlsrv::getTableCreate (   $tables)

Shows the table CREATE statement that creates the given tables.

This is unsupported by MSSQL.

Paramètres:
mixed$tablesA table name or a list of table names.
Renvoie:
array A list of the create SQL for the tables.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 383 du fichier sqlsrv.php.

{
$this->connect();
return '';
}
JDatabaseDriverSqlsrv::getTableKeys (   $table)

Get the details list of keys for a table.

Paramètres:
string$tableThe name of the table.
Renvoie:
array An array of the column specification for the table.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 400 du fichier sqlsrv.php.

{
$this->connect();
// TODO To implement.
return array();
}
JDatabaseDriverSqlsrv::getTableList ( )

Method to get an array of all tables in the database.

Renvoie:
array An array of all the tables in the database.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 416 du fichier sqlsrv.php.

{
$this->connect();
// Set the query to get the tables statement.
$this->setQuery('SELECT name FROM ' . $this->getDatabase() . '.sys.Tables WHERE type = \'U\';');
$tables = $this->loadColumn();
return $tables;
}
JDatabaseDriverSqlsrv::getVersion ( )

Get the version of the database connector.

Renvoie:
string The database connector version.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 434 du fichier sqlsrv.php.

{
$this->connect();
$version = sqlsrv_server_info($this->connection);
return $version['SQLServerVersion'];
}
JDatabaseDriverSqlsrv::insertid ( )

Method to get the auto-incremented value from the last INSERT statement.

Renvoie:
integer The value of the auto-increment field from the last inserted row.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 513 du fichier sqlsrv.php.

{
$this->connect();
// TODO: SELECT IDENTITY
$this->setQuery('SELECT @@IDENTITY');
return (int) $this->loadResult();
}
JDatabaseDriverSqlsrv::insertObject (   $table,
$object,
  $key = null 
)

Inserts a row into a table based on an object's properties.

Paramètres:
string$tableThe name of the database table to insert into.
object&$objectA reference to an object whose public properties match the table fields.
string$keyThe name of the primary key. If provided the object property is updated.
Renvoie:
boolean True on success.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 455 du fichier sqlsrv.php.

{
$fields = array();
$values = array();
$statement = 'INSERT INTO ' . $this->quoteName($table) . ' (%s) VALUES (%s)';
foreach (get_object_vars($object) as $k => $v)
{
// Only process non-null scalars.
if (is_array($v) or is_object($v) or $v === null)
{
continue;
}
if (!$this->checkFieldExists($table, $k))
{
continue;
}
if ($k[0] == '_')
{
// Internal field
continue;
}
if ($k == $key && $key == 0)
{
continue;
}
$fields[] = $this->quoteName($k);
$values[] = $this->Quote($v);
}
// Set the query and execute the insert.
$this->setQuery(sprintf($statement, implode(',', $fields), implode(',', $values)));
if (!$this->execute())
{
return false;
}
$id = $this->insertid();
if ($key && $id)
{
$object->$key = $id;
}
return true;
}
static JDatabaseDriverSqlsrv::isSupported ( )
static

Test to see if the SQLSRV connector is available.

Renvoie:
boolean True on success, false otherwise.
Depuis:
12.1

Implémente JDatabaseInterface.

Définition à la ligne 63 du fichier sqlsrv.php.

{
return (function_exists('sqlsrv_connect'));
}
JDatabaseDriverSqlsrv::limit (   $query,
  $limit,
  $offset 
)
protected

Method to wrap an SQL statement to provide a LIMIT and OFFSET behavior for scrolling through a result set.

Paramètres:
string$queryThe SQL statement to process.
integer$limitThe maximum affected rows to set.
integer$offsetThe affected row offset to set.
Renvoie:
string The processed SQL statement.
Depuis:
12.1

Définition à la ligne 1003 du fichier sqlsrv.php.

{
if ($limit == 0 && $offset == 0)
{
return $query;
}
$start = $offset + 1;
$end = $offset + $limit;
$orderBy = stristr($query, 'ORDER BY');
if (is_null($orderBy) || empty($orderBy))
{
$orderBy = 'ORDER BY (select 0)';
}
$query = str_ireplace($orderBy, '', $query);
$rowNumberText = ', ROW_NUMBER() OVER (' . $orderBy . ') AS RowNumber FROM ';
$query = preg_replace('/\sFROM\s/i', $rowNumberText, $query, 1);
$query = 'SELECT * FROM (' . $query . ') _myResults WHERE RowNumber BETWEEN ' . $start . ' AND ' . $end;
return $query;
}
JDatabaseDriverSqlsrv::loadResult ( )

Method to get the first field of the first row of the result set from the database query.

Renvoie:
mixed The return value or null if the query failed.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 531 du fichier sqlsrv.php.

{
$ret = null;
// Execute the query and get the result set cursor.
if (!($cursor = $this->execute()))
{
return null;
}
// Get the first row from the result set as an array.
if ($row = sqlsrv_fetch_array($cursor, SQLSRV_FETCH_NUMERIC))
{
$ret = $row[0];
}
// Free up system resources and return.
// For SQLServer - we need to strip slashes
$ret = stripslashes($ret);
return $ret;
}
JDatabaseDriverSqlsrv::lockTable (   $tableName)

Locks a table in the database.

Paramètres:
string$tableNameThe name of the table to lock.
Renvoie:
JDatabaseDriverSqlsrv Returns this object to support chaining.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 1071 du fichier sqlsrv.php.

{
return $this;
}
JDatabaseDriverSqlsrv::renameConstraints (   $constraints = array(),
  $prefix = null,
  $backup = null 
)
protected

Rename constraints.

Paramètres:
array$constraintsArray(strings) of table constraints
string$prefixA string
string$backupA string
Renvoie:
void
Depuis:
12.1

Définition à la ligne 199 du fichier sqlsrv.php.

{
$this->connect();
foreach ($constraints as $constraint)
{
$this->setQuery('sp_rename ' . $constraint . ',' . str_replace($prefix, $backup, $constraint));
$this->execute();
}
}
JDatabaseDriverSqlsrv::renameTable (   $oldTable,
  $newTable,
  $backup = null,
  $prefix = null 
)

Renames a table in the database.

Paramètres:
string$oldTableThe name of the table to be renamed
string$newTableThe new name for the table.
string$backupTable prefix
string$prefixFor the table - used to rename constraints in non-mysql databases
Renvoie:
JDatabaseDriverSqlsrv Returns this object to support chaining.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 1043 du fichier sqlsrv.php.

{
$constraints = array();
if (!is_null($prefix) && !is_null($backup))
{
$constraints = $this->getTableConstraints($oldTable);
}
if (!empty($constraints))
{
$this->renameConstraints($constraints, $prefix, $backup);
}
$this->setQuery("sp_rename '" . $oldTable . "', '" . $newTable . "'");
return $this->execute();
}
JDatabaseDriverSqlsrv::replacePrefix (   $query,
  $prefix = '#__' 
)

This function replaces a string identifier $prefix with the string held is the tablePrefix class variable.

Paramètres:
string$queryThe SQL statement to prepare.
string$prefixThe common table prefix.
Renvoie:
string The processed SQL statement.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 683 du fichier sqlsrv.php.

{
$startPos = 0;
$literal = '';
$query = trim($query);
$n = strlen($query);
while ($startPos < $n)
{
$ip = strpos($query, $prefix, $startPos);
if ($ip === false)
{
break;
}
$j = strpos($query, "N'", $startPos);
$k = strpos($query, '"', $startPos);
if (($k !== false) && (($k < $j) || ($j === false)))
{
$quoteChar = '"';
$j = $k;
}
else
{
$quoteChar = "'";
}
if ($j === false)
{
$j = $n;
}
$literal .= str_replace($prefix, $this->tablePrefix, substr($query, $startPos, $j - $startPos));
$startPos = $j;
$j = $startPos + 1;
if ($j >= $n)
{
break;
}
// Quote comes first, find end of quote
while (true)
{
$k = strpos($query, $quoteChar, $j);
$escaped = false;
if ($k === false)
{
break;
}
$l = $k - 1;
while ($l >= 0 && $query{$l} == '\\')
{
$l--;
$escaped = !$escaped;
}
if ($escaped)
{
$j = $k + 1;
continue;
}
break;
}
if ($k === false)
{
// Error in the query - no end quote; ignore it
break;
}
$literal .= substr($query, $startPos, $k - $startPos + 1);
$startPos = $k + 1;
}
if ($startPos < $n)
{
$literal .= substr($query, $startPos, $n - $startPos);
}
return $literal;
}
JDatabaseDriverSqlsrv::select (   $database)

Select a database for use.

Paramètres:
string$databaseThe name of the database to select for use.
Renvoie:
boolean True if the database was successfully selected.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 784 du fichier sqlsrv.php.

{
$this->connect();
if (!$database)
{
return false;
}
if (!sqlsrv_query($this->connection, 'USE ' . $database, null, array('scrollable' => SQLSRV_CURSOR_STATIC)))
{
throw new RuntimeException('Could not connect to database');
}
return true;
}
JDatabaseDriverSqlsrv::setUTF ( )

Set the connection to use UTF-8 character encoding.

Renvoie:
boolean True on success.
Depuis:
12.1

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 808 du fichier sqlsrv.php.

{
// TODO: Remove this?
}
JDatabaseDriverSqlsrv::transactionCommit (   $toSavepoint = false)

Method to commit a transaction.

Paramètres:
boolean$toSavepointIf true, commit to the last savepoint.
Renvoie:
void
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 823 du fichier sqlsrv.php.

{
$this->connect();
if (!$toSavepoint || $this->transactionDepth <= 1)
{
if ($this->setQuery('COMMIT TRANSACTION')->execute())
{
$this->transactionDepth = 0;
}
return;
}
$this->transactionDepth--;
}
JDatabaseDriverSqlsrv::transactionRollback (   $toSavepoint = false)

Method to roll back a transaction.

Paramètres:
boolean$toSavepointIf true, rollback to the last savepoint.
Renvoie:
void
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 850 du fichier sqlsrv.php.

{
$this->connect();
if (!$toSavepoint || $this->transactionDepth <= 1)
{
if ($this->setQuery('ROLLBACK TRANSACTION')->execute())
{
$this->transactionDepth = 0;
}
return;
}
$savepoint = 'SP_' . ($this->transactionDepth - 1);
$this->setQuery('ROLLBACK TRANSACTION ' . $this->quoteName($savepoint));
if ($this->execute())
{
$this->transactionDepth--;
}
}
JDatabaseDriverSqlsrv::transactionStart (   $asSavepoint = false)

Method to initialize a transaction.

Paramètres:
boolean$asSavepointIf true and a transaction is already active, a savepoint will be created.
Renvoie:
void
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 883 du fichier sqlsrv.php.

{
$this->connect();
if (!$asSavepoint || !$this->transactionDepth)
{
if ($this->setQuery('BEGIN TRANSACTION')->execute())
{
$this->transactionDepth = 1;
}
return;
}
$savepoint = 'SP_' . $this->transactionDepth;
$this->setQuery('BEGIN TRANSACTION ' . $this->quoteName($savepoint));
if ($this->execute())
{
$this->transactionDepth++;
}
}
JDatabaseDriverSqlsrv::unlockTables ( )

Unlocks tables in the database.

Renvoie:
JDatabaseDriverSqlsrv Returns this object to support chaining.
Depuis:
12.1
Exceptions:
RuntimeException

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 1084 du fichier sqlsrv.php.

{
return $this;
}

Documentation des données membres

JDatabaseDriverSqlsrv::$dbMinimum = '10.50.1600.1'
staticprotected

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 54 du fichier sqlsrv.php.

JDatabaseDriverSqlsrv::$name = 'sqlsrv'

Réimplémentée à partir de JDatabaseDriver.

Réimplémentée dans JDatabaseDriverSqlazure.

Définition à la ligne 28 du fichier sqlsrv.php.

JDatabaseDriverSqlsrv::$nameQuote = '[]'
protected

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 39 du fichier sqlsrv.php.

JDatabaseDriverSqlsrv::$nullDate = '1900-01-01 00:00:00'
protected

Réimplémentée à partir de JDatabaseDriver.

Définition à la ligne 48 du fichier sqlsrv.php.


La documentation de cette classe a été générée à partir du fichier suivant :