Packages:
default
System
System.Caching
System.Collections
System.Data
System.Data.ActiveRecord
System.Data.ActiveRecord.Relations
System.Data.ActiveRecord.Scaffold
System.Data.ActiveReecord.Scaffold.InputBuilder
System.Data.Commom.Sqlite
System.Data.Common
System.Data.Common.Mssql
System.Data.Common.Mysql
System.Data.Common.Oracle
System.Data.Common.Pgsql
System.Data.Common.Sqlite
System.Data.DataGateway
System.Data.SqlMap
System.Data.SqlMap.Configuration
System.Data.SqlMap.Statements
System.Exceptions
System.I18N
System.IO
System.Security
System.Util
System.Web
System.Web.Services
System.Web.UI
System.Web.UI.ActiveControls
System.Web.UI.WebControls
System.Web.UI.WebControls.assets
System.Xml


Classes:
Keyword

Class TDbCommand

TComponent
   |
   --TDbCommand

TDbCommand class.

TDbCommand represents an SQL statement to execute against a database. It is usually created by calling TDbConnection::createCommand. The SQL statement to be executed may be set via Text.

To execute a non-query SQL (such as insert, delete, update), call execute. To execute an SQL statement that returns result data set (such as select), use query or its convenient versions queryRow and queryScalar.

If an SQL statement returns results (such as a SELECT SQL), the results can be accessed via the returned TDbDataReader.

TDbCommand supports SQL statment preparation and parameter binding. Call bindParameter to bind a PHP variable to a parameter in SQL. Call bindValue to bind a value to an SQL parameter. When binding a parameter, the SQL statement is automatically prepared. You may also call prepare to explicitly prepare an SQL statement.

Since: 3.0
Author: Qiang Xue <qiang.xue@gmail.com>

Constructor Summary
public
__construct Array
Constructor.

Method Summary
void
bindParameter ( mixed $name, mixed &$value, int $dataType, int $length)
Binds a parameter to the SQL statement to be executed.
void
bindValue ( mixed $name, mixed $value, int $dataType)
Binds a value to a parameter.
void
cancel ()
Cancels the execution of the SQL statement.
integer
execute ()
Executes the SQL statement.
TDbConnection
String
PDOStatement
string
getText ()
void
prepare ()
Prepares the SQL statement to be executed.
TDbDataReader
query ()
Executes the SQL statement and returns query result.
array
Executes the SQL statement and returns the first column of the result.
array
queryRow ( boolean $fetchAssociative)
Executes the SQL statement and returns the first row of the result.
mixed
Executes the SQL statement and returns the value of the first column in the first row of data.
void
setText ( string $value)
Specifies the SQL statement to be executed.
void
__sleep ()
Set the statement to null when serializing.
Methods Inherited From TComponent
TComponent::addParsedObject(), TComponent::attachEventHandler(), TComponent::canGetProperty(), TComponent::canSetProperty(), TComponent::createdOnTemplate(), TComponent::detachEventHandler(), TComponent::evaluateExpression(), TComponent::evaluateStatements(), TComponent::getEventHandlers(), TComponent::getSubProperty(), TComponent::hasEvent(), TComponent::hasEventHandler(), TComponent::hasProperty(), TComponent::raiseEvent(), TComponent::setSubProperty(), TComponent::__get(), TComponent::__set()

Constructor Details

__construct

public __construct Array

Constructor.


Method Details

bindParameter

public void bindParameter (mixed $name , mixed &$value , int $dataType , int $length )

Binds a parameter to the SQL statement to be executed.

Input
mixed$nameParameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.
mixed&$valueName of the PHP variable to bind to the SQL statement parameter
int$dataTypeSQL data type of the parameter
int$lengthlength of the data type
Output
Exception

bindValue

public void bindValue (mixed $name , mixed $value , int $dataType )

Binds a value to a parameter.

Input
mixed$nameParameter identifier. For a prepared statement using named placeholders, this will be a parameter name of the form :name. For a prepared statement using question mark placeholders, this will be the 1-indexed position of the parameter.
mixed$valueThe value to bind to the parameter
int$dataTypeSQL data type of the parameter
Output
Exception

cancel

public void cancel ()

Cancels the execution of the SQL statement.

Output
Exception

execute

public integer execute ()

Executes the SQL statement.

This method is meant only for executing non-query SQL statement. No result set will be returned.

Output
integer number of rows affected by the execution.
Exception
throwsTDbException execution failed

getConnection

public TDbConnection getConnection ()

Output
TDbConnection the connection associated with this command
Exception

getDebugStatementText

public String getDebugStatementText ()

Output
String prepared SQL text for debugging purposes.
Exception

getPdoStatement

public PDOStatement getPdoStatement ()

Output
PDOStatement the underlying PDOStatement for this command It could be null if the statement is not prepared yet.
Exception

getText

public string getText ()

Output
string the SQL statement to be executed
Exception

prepare

public void prepare ()

Prepares the SQL statement to be executed.

For complex SQL statement that is to be executed multiple times, this may improve performance. For SQL statement with binding parameters, this method is invoked automatically.

Output
Exception

query

public TDbDataReader query ()

Executes the SQL statement and returns query result.

This method is for executing an SQL query that returns result set.

Output
TDbDataReader the reader object for fetching the query result
Exception
throwsTDbException execution failed

queryColumn

public array queryColumn ()

Executes the SQL statement and returns the first column of the result.

This is a convenient method of query when only the first column of data is needed. Note, the column returned will contain the first element in each row of result.

Output
array the first column of the query result. Empty array if no result.
Exception
throwsTDbException execution failed

queryRow

public array queryRow (boolean $fetchAssociative )

Executes the SQL statement and returns the first row of the result.

This is a convenient method of query when only the first row of data is needed.

Input
boolean$fetchAssociativewhether the row should be returned as an associated array with column names as the keys or the array keys are column indexes (0-based).
Output
array the first row of the query result, false if no result.
Exception
throwsTDbException execution failed

queryScalar

public mixed queryScalar ()

Executes the SQL statement and returns the value of the first column in the first row of data.

This is a convenient method of query when only a single scalar value is needed (e.g. obtaining the count of the records).

Output
mixed the value of the first column in the first row of the query result. False is returned if there is no value.
Exception
throwsTDbException execution failed

setText

public void setText (string $value )

Specifies the SQL statement to be executed.

Any previous execution will be terminated or cancel.

Input
string$valuethe SQL statement to be executed
Output
Exception

__sleep

public void __sleep ()

Set the statement to null when serializing.

Output
Exception