Qt 4.8
|
The QSqlDriver class is an abstract base class for accessing specific SQL databases. More...
#include <qsqldriver.h>
Public Types | |
enum | DriverFeature { Transactions, QuerySize, BLOB, Unicode, PreparedQueries, NamedPlaceholders, PositionalPlaceholders, LastInsertId, BatchOperations, SimpleLocking, LowPrecisionNumbers, EventNotifications, FinishQuery, MultipleResultSets } |
This enum contains a list of features a driver might support. More... | |
enum | IdentifierType { FieldName, TableName } |
This enum contains a list of SQL identifier types. More... | |
enum | StatementType { WhereStatement, SelectStatement, UpdateStatement, InsertStatement, DeleteStatement } |
This enum contains a list of SQL statement (or clause) types the driver can create. More... | |
Signals | |
void | notification (const QString &name) |
This signal is emitted when the database posts an event notification that the driver subscribes to. More... | |
Signals inherited from QObject | |
void | destroyed (QObject *=0) |
This signal is emitted immediately before the object obj is destroyed, and can not be blocked. More... | |
Public Functions | |
virtual bool | beginTransaction () |
This function is called to begin a transaction. More... | |
virtual void | close ()=0 |
Derived classes must reimplement this pure virtual function in order to close the database connection. More... | |
virtual bool | commitTransaction () |
This function is called to commit a transaction. More... | |
virtual QSqlResult * | createResult () const =0 |
Creates an empty SQL result on the database. More... | |
virtual QString | escapeIdentifier (const QString &identifier, IdentifierType type) const |
Returns the identifier escaped according to the database rules. More... | |
virtual QString | formatValue (const QSqlField &field, bool trimStrings=false) const |
Returns a string representation of the field value for the database. More... | |
virtual QVariant | handle () const |
Returns the low-level database handle wrapped in a QVariant or an invalid variant if there is no handle. More... | |
virtual bool | hasFeature (DriverFeature f) const =0 |
Returns true if the driver supports feature feature; otherwise returns false. More... | |
bool | isIdentifierEscaped (const QString &identifier, IdentifierType type) const |
Returns whether identifier is escaped according to the database rules. More... | |
virtual bool | isOpen () const |
Returns true if the database connection is open; otherwise returns false. More... | |
bool | isOpenError () const |
Returns true if the there was an error opening the database connection; otherwise returns false. More... | |
QSqlError | lastError () const |
Returns a QSqlError object which contains information about the last error that occurred on the database. More... | |
QSql::NumericalPrecisionPolicy | numericalPrecisionPolicy () const |
Returns the current default precision policy for the database connection. More... | |
virtual bool | open (const QString &db, const QString &user=QString(), const QString &password=QString(), const QString &host=QString(), int port=-1, const QString &connOpts=QString())=0 |
Derived classes must reimplement this pure virtual function to open a database connection on database db, using user name user, password password, host host, port port and connection options options. More... | |
virtual QSqlIndex | primaryIndex (const QString &tableName) const |
Returns the primary index for table tableName. More... | |
QSqlDriver (QObject *parent=0) | |
Constructs a new driver with the given parent. More... | |
virtual QSqlRecord | record (const QString &tableName) const |
Returns a QSqlRecord populated with the names of the fields in table tableName. More... | |
virtual bool | rollbackTransaction () |
This function is called to rollback a transaction. More... | |
void | setNumericalPrecisionPolicy (QSql::NumericalPrecisionPolicy precisionPolicy) |
Sets the default numerical precision policy used by queries created by this driver to precisionPolicy. More... | |
virtual QString | sqlStatement (StatementType type, const QString &tableName, const QSqlRecord &rec, bool preparedStatement) const |
Returns a SQL statement of type type for the table tableName with the values from rec. More... | |
QString | stripDelimiters (const QString &identifier, IdentifierType type) const |
Returns the identifier with the leading and trailing delimiters removed, identifier can either be a table name or field name, dependent on type. More... | |
QStringList | subscribedToNotifications () const |
Returns a list of the names of the event notifications that are currently subscribed to. More... | |
bool | subscribeToNotification (const QString &name) |
This function is called to subscribe to event notifications from the database. More... | |
virtual QStringList | tables (QSql::TableType tableType) const |
Returns a list of the names of the tables in the database. More... | |
bool | unsubscribeFromNotification (const QString &name) |
This function is called to unsubscribe from event notifications from the database. More... | |
~QSqlDriver () | |
Destroys the object and frees any allocated resources. More... | |
Public Functions inherited from QObject | |
bool | blockSignals (bool b) |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). More... | |
const QObjectList & | children () const |
Returns a list of child objects. More... | |
bool | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=0, const QObject *receiver=0, const char *member=0) |
bool | disconnect (const QObject *receiver, const char *member=0) |
void | dumpObjectInfo () |
Dumps information about signal connections, etc. More... | |
void | dumpObjectTree () |
Dumps a tree of children to the debug output. More... | |
QList< QByteArray > | dynamicPropertyNames () const |
Returns the names of all properties that were dynamically added to the object using setProperty(). More... | |
virtual bool | event (QEvent *) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. More... | |
virtual bool | eventFilter (QObject *, QEvent *) |
Filters events if this object has been installed as an event filter for the watched object. More... | |
template<typename T > | |
T | findChild (const QString &aName=QString()) const |
Returns the child of this object that can be cast into type T and that is called name, or 0 if there is no such object. More... | |
template<typename T > | |
QList< T > | findChildren (const QString &aName=QString()) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. More... | |
template<typename T > | |
QList< T > | findChildren (const QRegExp &re) const |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false. More... | |
void | installEventFilter (QObject *) |
Installs an event filter filterObj on this object. More... | |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false. More... | |
void | killTimer (int id) |
Kills the timer with timer identifier, id. More... | |
virtual const QMetaObject * | metaObject () const |
Returns a pointer to the meta-object of this object. More... | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. More... | |
QString | objectName () const |
QObject * | parent () const |
Returns a pointer to the parent object. More... | |
QVariant | property (const char *name) const |
Returns the value of the object's name property. More... | |
Q_INVOKABLE | QObject (QObject *parent=0) |
Constructs an object with parent object parent. More... | |
void | removeEventFilter (QObject *) |
Removes an event filter object obj from this object. More... | |
void | setObjectName (const QString &name) |
void | setParent (QObject *) |
Makes the object a child of parent. More... | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. More... | |
void | setUserData (uint id, QObjectUserData *data) |
bool | signalsBlocked () const |
Returns true if signals are blocked; otherwise returns false. More... | |
int | startTimer (int interval) |
Starts a timer and returns a timer identifier, or returns zero if it could not start a timer. More... | |
QThread * | thread () const |
Returns the thread in which the object lives. More... | |
QObjectUserData * | userData (uint id) const |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. More... | |
Protected Slots | |
bool | isIdentifierEscapedImplementation (const QString &identifier, IdentifierType type) const |
This slot returns whether identifier is escaped according to the database rules. More... | |
QString | stripDelimitersImplementation (const QString &identifier, IdentifierType type) const |
This slot returns identifier with the leading and trailing delimiters removed, identifier can either be a tablename or field name, dependent on type. More... | |
QStringList | subscribedToNotificationsImplementation () const |
Returns a list of the names of the event notifications that are currently subscribed to. More... | |
bool | subscribeToNotificationImplementation (const QString &name) |
This slot is called to subscribe to event notifications from the database. More... | |
bool | unsubscribeFromNotificationImplementation (const QString &name) |
This slot is called to unsubscribe from event notifications from the database. More... | |
Protected Functions | |
virtual void | setLastError (const QSqlError &e) |
This function is used to set the value of the last error, error, that occurred on the database. More... | |
virtual void | setOpen (bool o) |
This function sets the open state of the database to open. More... | |
virtual void | setOpenError (bool e) |
This function sets the open error state of the database to error. More... | |
Protected Functions inherited from QObject | |
virtual void | childEvent (QChildEvent *) |
This event handler can be reimplemented in a subclass to receive child events. More... | |
virtual void | connectNotify (const char *signal) |
This virtual function is called when something has been connected to signal in this object. More... | |
virtual void | customEvent (QEvent *) |
This event handler can be reimplemented in a subclass to receive custom events. More... | |
virtual void | disconnectNotify (const char *signal) |
This virtual function is called when something has been disconnected from signal in this object. More... | |
QObject (QObjectPrivate &dd, QObject *parent=0) | |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. More... | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns 0. More... | |
int | senderSignalIndex () const |
virtual void | timerEvent (QTimerEvent *) |
This event handler can be reimplemented in a subclass to receive timer events for the object. More... | |
Friends | |
class | QSqlDatabase |
Additional Inherited Members | |
Public Slots inherited from QObject | |
void | deleteLater () |
Schedules this object for deletion. More... | |
Static Public Functions inherited from QObject | |
static bool | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
Creates a connection of the given type from the signal in the sender object to the method in the receiver object. More... | |
static bool | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
Disconnects signal in object sender from method in object receiver. More... | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static uint | registerUserData () |
static QString | tr (const char *sourceText, const char *comment=0, int n=-1) |
static QString | trUtf8 (const char *sourceText, const char *comment=0, int n=-1) |
Static Public Variables inherited from QObject | |
static const QMetaObject | staticMetaObject |
This variable stores the meta-object for the class. More... | |
Protected Variables inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Static Protected Variables inherited from QObject | |
static const QMetaObject | staticQtMetaObject |
Related Functions inherited from QObject | |
T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QRegExp ®Exp)() |
T * | qobject_cast (QObject *object) |
QObjectList | |
void * | qt_find_obj_child (QObject *parent, const char *type, const QString &name) |
Returns a pointer to the object named name that inherits type and with a given parent. More... | |
The QSqlDriver class is an abstract base class for accessing specific SQL databases.
This class should not be used directly. Use QSqlDatabase instead.
If you want to create your own SQL drivers, you can subclass this class and reimplement its pure virtual functions and those virtual functions that you need. See How to Write Your Own Database Driver for more information.
Definition at line 68 of file qsqldriver.h.
This enum contains a list of features a driver might support.
Use hasFeature() to query whether a feature is supported or not.
More information about supported features can be found in the Qt SQL driver documentation.
Definition at line 75 of file qsqldriver.h.
This enum contains a list of SQL identifier types.
Enumerator | |
---|---|
FieldName | |
TableName |
Definition at line 83 of file qsqldriver.h.
This enum contains a list of SQL statement (or clause) types the driver can create.
WHERE
statement (e.g., WHERE f = 5
). SELECT
statement (e.g., SELECT f FROM t
). UPDATE
statement (e.g., UPDATE TABLE t set f = 1
). INSERT
statement (e.g., INSERT INTO t (f) values (1)
). DELETE
statement (e.g., DELETE FROM t
).Enumerator | |
---|---|
WhereStatement | |
SelectStatement | |
UpdateStatement | |
InsertStatement | |
DeleteStatement |
Definition at line 80 of file qsqldriver.h.
|
explicit |
Constructs a new driver with the given parent.
Definition at line 112 of file qsqldriver.cpp.
QSqlDriver::~QSqlDriver | ( | ) |
Destroys the object and frees any allocated resources.
Definition at line 121 of file qsqldriver.cpp.
|
virtual |
This function is called to begin a transaction.
If successful, return true, otherwise return false. The default implementation does nothing and returns false.
Reimplemented in QODBCDriver, QPSQLDriver, QMYSQLDriver, QTDSDriver, QOCIDriver, QSymSQLDriver, QSQLite2Driver, QSQLiteDriver, QIBaseDriver, and QDB2Driver.
Definition at line 312 of file qsqldriver.cpp.
|
pure virtual |
Derived classes must reimplement this pure virtual function in order to close the database connection.
Return true on success, false on failure.
Implemented in QPSQLDriver, QODBCDriver, QMYSQLDriver, QSymSQLDriver, QTDSDriver, QOCIDriver, QSQLite2Driver, QSQLiteDriver, QSqlNullDriver, QIBaseDriver, and QDB2Driver.
|
virtual |
This function is called to commit a transaction.
If successful, return true, otherwise return false. The default implementation does nothing and returns false.
Reimplemented in QODBCDriver, QPSQLDriver, QMYSQLDriver, QTDSDriver, QOCIDriver, QSymSQLDriver, QSQLite2Driver, QSQLiteDriver, QIBaseDriver, and QDB2Driver.
Definition at line 325 of file qsqldriver.cpp.
|
pure virtual |
Creates an empty SQL result on the database.
Derived classes must reimplement this function and return a QSqlResult object appropriate for their database to the caller.
Implemented in QPSQLDriver, QODBCDriver, QMYSQLDriver, QTDSDriver, QSymSQLDriver, QOCIDriver, QSQLite2Driver, QSQLiteDriver, QSqlNullDriver, QIBaseDriver, and QDB2Driver.
Referenced by qInit().
|
virtual |
Returns the identifier escaped according to the database rules.
identifier can either be a table name or field name, dependent on type.
The default implementation does nothing.
Reimplemented in QODBCDriver, QPSQLDriver, QMYSQLDriver, QSymSQLDriver, QTDSDriver, QOCIDriver, QSQLite2Driver, QIBaseDriver, QDB2Driver, and QSQLiteDriver.
Definition at line 412 of file qsqldriver.cpp.
Referenced by prepareIdentifier().
Returns a string representation of the field value for the database.
Use the other formatValue() overload instead.
This is used, for example, when constructing INSERT and UPDATE statements.
The default implementation returns the value formatted as a string according to the following rules:
If field is character data, the value is returned enclosed in single quotation marks, which is appropriate for many SQL databases. Any embedded single-quote characters are escaped (replaced with two single-quote characters). If trimStrings is true (the default is false), all trailing whitespace is trimmed from the field.
If field is date/time data, the value is formatted in ISO format and enclosed in single quotation marks. If the date/time data is invalid, "NULL" is returned.
If field is bytearray data, and the driver can edit binary fields, the value is formatted as a hexadecimal string.
For any other field type, toString() is called on its value and the result of this is returned.
Reimplemented in QPSQLDriver, QODBCDriver, QMYSQLDriver, QTDSDriver, QOCIDriver, QIBaseDriver, and QDB2Driver.
Definition at line 597 of file qsqldriver.cpp.
Referenced by QDB2Driver::formatValue(), QIBaseDriver::formatValue(), QOCIDriver::formatValue(), QTDSDriver::formatValue(), QMYSQLDriver::formatValue(), QODBCDriver::formatValue(), QPSQLDriver::formatValue(), qCreateParamString(), and sqlStatement().
|
virtual |
Returns the low-level database handle wrapped in a QVariant or an invalid variant if there is no handle.
The handle returned here is database-dependent, you should query the type name of the variant before accessing it.
This example retrieves the handle for a connection to sqlite:
This snippet returns the handle for PostgreSQL or MySQL:
Reimplemented in QPSQLDriver, QODBCDriver, QMYSQLDriver, QSymSQLDriver, QTDSDriver, QOCIDriver, QSQLite2Driver, QIBaseDriver, QSQLiteDriver, and QDB2Driver.
Definition at line 700 of file qsqldriver.cpp.
|
pure virtual |
Returns true if the driver supports feature feature; otherwise returns false.
Note that some databases need to be open() before this can be determined.
Implemented in QODBCDriver, QPSQLDriver, QMYSQLDriver, QSymSQLDriver, QTDSDriver, QOCIDriver, QSqlNullDriver, QDB2Driver, QSQLiteDriver, QSQLite2Driver, and QIBaseDriver.
Referenced by QSqlTableModelPrivate::exec(), formatValue(), and QSqlQueryModel::setQuery().
bool QSqlDriver::isIdentifierEscaped | ( | const QString & | identifier, |
IdentifierType | type | ||
) | const |
Returns whether identifier is escaped according to the database rules.
identifier can either be a table name or field name, dependent on type.
Definition at line 429 of file qsqldriver.cpp.
Referenced by QOCIDriver::escapeIdentifier(), QSqlTableModelPrivate::nameToIndex(), QRelation::populateDictionary(), prepareIdentifier(), QDB2Driver::primaryIndex(), QIBaseDriver::primaryIndex(), QSQLiteDriver::primaryIndex(), QOCIDriver::primaryIndex(), QSQLite2Driver::primaryIndex(), QTDSDriver::primaryIndex(), QODBCDriver::primaryIndex(), QPSQLDriver::primaryIndex(), qExtractSecurityPolicyFromString(), QDB2Driver::record(), QIBaseDriver::record(), QSQLiteDriver::record(), QOCIDriver::record(), QSQLite2Driver::record(), QTDSDriver::record(), QMYSQLDriver::record(), QODBCDriver::record(), QPSQLDriver::record(), stripDelimitersImplementation(), QDB2Driver::tables(), and QOCIDriver::tables().
|
protectedslot |
This slot returns whether identifier is escaped according to the database rules.
identifier can either be a table name or field name, dependent on type.
Because of binary compatibility constraints, isIdentifierEscaped() function (introduced in Qt 4.5) is not virtual. Instead, isIdentifierEscaped() will dynamically detect and call this slot. The default implementation assumes the escape/delimiter character is a double quote. Reimplement this slot in your own QSqlDriver if your database engine uses a different delimiter character.
Definition at line 918 of file qsqldriver.cpp.
|
virtual |
Returns true if the database connection is open; otherwise returns false.
Reimplemented in QPSQLDriver.
Definition at line 182 of file qsqldriver.cpp.
Referenced by QDB2Driver::beginTransaction(), QIBaseDriver::beginTransaction(), QSQLiteDriver::beginTransaction(), QSQLite2Driver::beginTransaction(), QOCIDriver::beginTransaction(), QMYSQLDriver::beginTransaction(), QODBCDriver::beginTransaction(), QODBCDriver::cleanup(), QDB2Driver::close(), QIBaseDriver::close(), QSQLiteDriver::close(), QSQLite2Driver::close(), QOCIDriver::close(), QTDSDriver::close(), QMYSQLDriver::close(), QDB2Driver::commitTransaction(), QIBaseDriver::commitTransaction(), QSQLiteDriver::commitTransaction(), QSQLite2Driver::commitTransaction(), QOCIDriver::commitTransaction(), QMYSQLDriver::commitTransaction(), QODBCDriver::commitTransaction(), QMYSQLDriver::formatValue(), QIBaseDriver::open(), QSQLite2Driver::open(), QSQLiteDriver::open(), QOCIDriver::open(), QTDSDriver::open(), QDB2Driver::open(), QMYSQLDriver::open(), QODBCDriver::open(), QDB2Driver::primaryIndex(), QIBaseDriver::primaryIndex(), QSQLiteDriver::primaryIndex(), QOCIDriver::primaryIndex(), QSQLite2Driver::primaryIndex(), QTDSDriver::primaryIndex(), QMYSQLDriver::primaryIndex(), QODBCDriver::primaryIndex(), qExtractSecurityPolicyFromString(), QDB2Driver::record(), QIBaseDriver::record(), QSQLiteDriver::record(), QOCIDriver::record(), QSQLite2Driver::record(), QTDSDriver::record(), QMYSQLDriver::record(), QODBCDriver::record(), QDB2Driver::rollbackTransaction(), QIBaseDriver::rollbackTransaction(), QSQLiteDriver::rollbackTransaction(), QSQLite2Driver::rollbackTransaction(), QOCIDriver::rollbackTransaction(), QMYSQLDriver::rollbackTransaction(), QODBCDriver::rollbackTransaction(), QIBaseDriver::subscribeToNotificationImplementation(), QDB2Driver::tables(), QIBaseDriver::tables(), QSQLiteDriver::tables(), QOCIDriver::tables(), QSQLite2Driver::tables(), QTDSDriver::tables(), QMYSQLDriver::tables(), QODBCDriver::tables(), QIBaseDriver::unsubscribeFromNotificationImplementation(), QOCIDriver::~QOCIDriver(), and QODBCResult::~QODBCResult().
bool QSqlDriver::isOpenError | ( | ) | const |
Returns true if the there was an error opening the database connection; otherwise returns false.
Definition at line 192 of file qsqldriver.cpp.
Referenced by QIBaseDriver::beginTransaction(), QSQLiteDriver::beginTransaction(), QSQLite2Driver::beginTransaction(), QIBaseDriver::commitTransaction(), QSQLiteDriver::commitTransaction(), QSQLite2Driver::commitTransaction(), qExtractSecurityPolicyFromString(), QIBaseDriver::rollbackTransaction(), QSQLiteDriver::rollbackTransaction(), and QSQLite2Driver::rollbackTransaction().
QSqlError QSqlDriver::lastError | ( | ) | const |
Returns a QSqlError object which contains information about the last error that occurred on the database.
Definition at line 360 of file qsqldriver.cpp.
|
signal |
This signal is emitted when the database posts an event notification that the driver subscribes to.
name identifies the event notification.
Referenced by QPSQLDriver::_q_handleNotification(), and QIBaseDriver::qHandleEventNotification().
QSql::NumericalPrecisionPolicy QSqlDriver::numericalPrecisionPolicy | ( | ) | const |
Returns the current default precision policy for the database connection.
Definition at line 987 of file qsqldriver.cpp.
Referenced by QSqlResult::QSqlResult().
|
pure virtual |
Derived classes must reimplement this pure virtual function to open a database connection on database db, using user name user, password password, host host, port port and connection options options.
The function must return true on success and false on failure.
Implemented in QODBCDriver, QPSQLDriver, QMYSQLDriver, QDB2Driver, QSymSQLDriver, QTDSDriver, QOCIDriver, QSqlNullDriver, QSQLiteDriver, QSQLite2Driver, and QIBaseDriver.
Referenced by setOpen().
Returns the primary index for table tableName.
Returns an empty QSqlIndex if the table doesn't have a primary index. The default implementation returns an empty index.
Reimplemented in QPSQLDriver, QODBCDriver, QMYSQLDriver, QSymSQLDriver, QTDSDriver, QSQLite2Driver, QOCIDriver, QSQLiteDriver, QIBaseDriver, and QDB2Driver.
Definition at line 387 of file qsqldriver.cpp.
|
virtual |
Returns a QSqlRecord populated with the names of the fields in table tableName.
Use query.
If no such table exists, an empty record is returned. The default implementation returns an empty record.
record() instead.
Reimplemented in QPSQLDriver, QODBCDriver, QMYSQLDriver, QSymSQLDriver, QTDSDriver, QSQLite2Driver, QOCIDriver, QSQLiteDriver, QIBaseDriver, and QDB2Driver.
Definition at line 399 of file qsqldriver.cpp.
|
virtual |
This function is called to rollback a transaction.
If successful, return true, otherwise return false. The default implementation does nothing and returns false.
Reimplemented in QODBCDriver, QPSQLDriver, QMYSQLDriver, QTDSDriver, QOCIDriver, QSymSQLDriver, QSQLite2Driver, QSQLiteDriver, QIBaseDriver, and QDB2Driver.
Definition at line 338 of file qsqldriver.cpp.
|
protectedvirtual |
This function is used to set the value of the last error, error, that occurred on the database.
Reimplemented in QSqlNullDriver.
Definition at line 350 of file qsqldriver.cpp.
Referenced by QSQLiteDriver::beginTransaction(), QSQLite2Driver::beginTransaction(), QOCIDriver::beginTransaction(), QMYSQLDriver::beginTransaction(), QPSQLDriver::beginTransaction(), QODBCDriver::beginTransaction(), QSQLiteDriver::close(), QDB2Driver::commitTransaction(), QSQLiteDriver::commitTransaction(), QSQLite2Driver::commitTransaction(), QOCIDriver::commitTransaction(), QMYSQLDriver::commitTransaction(), QPSQLDriver::commitTransaction(), QODBCDriver::commitTransaction(), QODBCDriver::endTrans(), QSQLite2Driver::open(), QSQLiteDriver::open(), QOCIDriver::open(), QTDSDriver::open(), QDB2Driver::open(), QMYSQLDriver::open(), QPSQLDriver::open(), QODBCDriver::open(), QPSQLResultPrivate::processResults(), qExtractSecurityPolicyFromString(), QOCIDriver::QOCIDriver(), QSqlNullDriver::QSqlNullDriver(), QDB2Driver::rollbackTransaction(), QSQLiteDriver::rollbackTransaction(), QSQLite2Driver::rollbackTransaction(), QOCIDriver::rollbackTransaction(), QMYSQLDriver::rollbackTransaction(), QPSQLDriver::rollbackTransaction(), QODBCDriver::rollbackTransaction(), QDB2Driver::setAutoCommit(), QIBaseDriver::subscribeToNotificationImplementation(), QPSQLDriver::subscribeToNotificationImplementation(), QIBaseDriver::unsubscribeFromNotificationImplementation(), and QPSQLDriver::unsubscribeFromNotificationImplementation().
void QSqlDriver::setNumericalPrecisionPolicy | ( | QSql::NumericalPrecisionPolicy | precisionPolicy | ) |
Sets the default numerical precision policy used by queries created by this driver to precisionPolicy.
Note: Setting the default precision policy to precisionPolicy doesn't affect any currently active queries.
Definition at line 971 of file qsqldriver.cpp.
|
protectedvirtual |
This function sets the open state of the database to open.
Derived classes can use this function to report the status of open().
Reimplemented in QSqlNullDriver.
Definition at line 283 of file qsqldriver.cpp.
Referenced by QDB2Driver::close(), QIBaseDriver::close(), QSQLiteDriver::close(), QSQLite2Driver::close(), QOCIDriver::close(), QTDSDriver::close(), QMYSQLDriver::close(), QODBCDriver::close(), QPSQLDriver::close(), QIBaseDriver::open(), QSQLite2Driver::open(), QSQLiteDriver::open(), QOCIDriver::open(), QTDSDriver::open(), QDB2Driver::open(), QMYSQLDriver::open(), QPSQLDriver::open(), QODBCDriver::open(), QDB2Driver::QDB2Driver(), qExtractSecurityPolicyFromString(), QIBaseDriver::QIBaseDriver(), QMYSQLDriver::QMYSQLDriver(), QOCIDriver::QOCIDriver(), QODBCDriver::QODBCDriver(), QPSQLDriver::QPSQLDriver(), QSQLite2Driver::QSQLite2Driver(), QSQLiteDriver::QSQLiteDriver(), QSymSQLDriver::QSymSQLDriver(), and QTDSDriver::QTDSDriver().
|
protectedvirtual |
This function sets the open error state of the database to error.
Derived classes can use this function to report the status of open(). Note that if error is true the open state of the database is set to closed (i.e., isOpen() returns false).
Reimplemented in QSqlNullDriver.
Definition at line 297 of file qsqldriver.cpp.
Referenced by QDB2Driver::close(), QIBaseDriver::close(), QSQLiteDriver::close(), QSQLite2Driver::close(), QOCIDriver::close(), QTDSDriver::close(), QMYSQLDriver::close(), QODBCDriver::close(), QPSQLDriver::close(), QIBaseDriver::open(), QSQLite2Driver::open(), QSQLiteDriver::open(), QOCIDriver::open(), QTDSDriver::open(), QDB2Driver::open(), QMYSQLDriver::open(), QPSQLDriver::open(), QODBCDriver::open(), QDB2Driver::QDB2Driver(), qExtractSecurityPolicyFromString(), QIBaseDriver::QIBaseDriver(), QMYSQLDriver::QMYSQLDriver(), QOCIDriver::QOCIDriver(), QODBCDriver::QODBCDriver(), QPSQLDriver::QPSQLDriver(), QSQLite2Driver::QSQLite2Driver(), QSQLiteDriver::QSQLiteDriver(), QSymSQLDriver::QSymSQLDriver(), and QTDSDriver::QTDSDriver().
|
virtual |
Returns a SQL statement of type type for the table tableName with the values from rec.
If preparedStatement is true, the string will contain placeholders instead of values.
This method can be used to manipulate tables without having to worry about database-dependent SQL dialects. For non-prepared statements, the values will be properly escaped.
Definition at line 475 of file qsqldriver.cpp.
QString QSqlDriver::stripDelimiters | ( | const QString & | identifier, |
IdentifierType | type | ||
) | const |
Returns the identifier with the leading and trailing delimiters removed, identifier can either be a table name or field name, dependent on type.
If identifier does not have leading and trailing delimiter characters, identifier is returned without modification.
Definition at line 455 of file qsqldriver.cpp.
Referenced by QSqlTableModelPrivate::nameToIndex(), QRelation::populateDictionary(), QDB2Driver::primaryIndex(), QIBaseDriver::primaryIndex(), QSQLiteDriver::primaryIndex(), QOCIDriver::primaryIndex(), QSQLite2Driver::primaryIndex(), QTDSDriver::primaryIndex(), QODBCDriver::primaryIndex(), QPSQLDriver::primaryIndex(), qExtractSecurityPolicyFromString(), QDB2Driver::record(), QIBaseDriver::record(), QSQLiteDriver::record(), QOCIDriver::record(), QSQLite2Driver::record(), QTDSDriver::record(), QMYSQLDriver::record(), QODBCDriver::record(), QPSQLDriver::record(), QDB2Driver::tables(), and QOCIDriver::tables().
|
protectedslot |
This slot returns identifier with the leading and trailing delimiters removed, identifier can either be a tablename or field name, dependent on type.
If identifier does not have leading and trailing delimiter characters, identifier is returned without modification.
Because of binary compatibility constraints, the stripDelimiters() function (introduced in Qt 4.5) is not virtual. Instead, stripDelimiters() will dynamically detect and call this slot. It generally unnecessary to reimplement this slot.
Definition at line 944 of file qsqldriver.cpp.
QStringList QSqlDriver::subscribedToNotifications | ( | ) | const |
Returns a list of the names of the event notifications that are currently subscribed to.
Definition at line 817 of file qsqldriver.cpp.
|
protectedslot |
Returns a list of the names of the event notifications that are currently subscribed to.
Reimplement this slot to provide your own QSqlDriver subclass with event notification support; because of binary compatibility constraints, the subscribedToNotifications() function (introduced in Qt 4.4) is not virtual. Instead, subscribedToNotifications() will dynamically detect and call this slot. The default implementation simply returns an empty QStringList.
Definition at line 894 of file qsqldriver.cpp.
bool QSqlDriver::subscribeToNotification | ( | const QString & | name | ) |
This function is called to subscribe to event notifications from the database.
name identifies the event notification.
If successful, return true, otherwise return false.
The database must be open when this function is called. When the database is closed by calling close() all subscribed event notifications are automatically unsubscribed. Note that calling open() on an already open database may implicitly cause close() to be called, which will cause the driver to unsubscribe from all event notifications.
When an event notification identified by name is posted by the database the notification() signal is emitted.
Definition at line 766 of file qsqldriver.cpp.
|
protectedslot |
This slot is called to subscribe to event notifications from the database.
name identifies the event notification.
If successful, return true, otherwise return false.
The database must be open when this slot is called. When the database is closed by calling close() all subscribed event notifications are automatically unsubscribed. Note that calling open() on an already open database may implicitly cause close() to be called, which will cause the driver to unsubscribe from all event notifications.
When an event notification identified by name is posted by the database the notification() signal is emitted.
Reimplement this slot to provide your own QSqlDriver subclass with event notification support; because of binary compatibility constraints, the subscribeToNotification() function (introduced in Qt 4.4) is not virtual. Instead, subscribeToNotification() will dynamically detect and call this slot. The default implementation does nothing and returns false.
Definition at line 849 of file qsqldriver.cpp.
|
virtual |
Returns a list of the names of the tables in the database.
The default implementation returns an empty list.
The tableType argument describes what types of tables should be returned. Due to binary compatibility, the string contains the value of the enum QSql::TableTypes as text. An empty string should be treated as QSql::Tables for backward compatibility.
Reimplemented in QPSQLDriver, QODBCDriver, QMYSQLDriver, QSymSQLDriver, QTDSDriver, QSQLite2Driver, QOCIDriver, QSQLiteDriver, QIBaseDriver, and QDB2Driver.
Definition at line 376 of file qsqldriver.cpp.
bool QSqlDriver::unsubscribeFromNotification | ( | const QString & | name | ) |
This function is called to unsubscribe from event notifications from the database.
name identifies the event notification.
If successful, return true, otherwise return false.
The database must be open when this function is called. All subscribed event notifications are automatically unsubscribed from when the close() function is called.
After calling this function the notification() signal will no longer be emitted when an event notification identified by name is posted by the database.
Definition at line 796 of file qsqldriver.cpp.
|
protectedslot |
This slot is called to unsubscribe from event notifications from the database.
name identifies the event notification.
If successful, return true, otherwise return false.
The database must be open when this slot is called. All subscribed event notifications are automatically unsubscribed from when the close() function is called.
After calling this slot the notification() signal will no longer be emitted when an event notification identified by name is posted by the database.
Reimplement this slot to provide your own QSqlDriver subclass with event notification support; because of binary compatibility constraints, the unsubscribeFromNotification() function (introduced in Qt 4.4) is not virtual. Instead, unsubscribeFromNotification() will dynamically detect and call this slot. The default implementation does nothing and returns false.
Definition at line 876 of file qsqldriver.cpp.
|
friend |
Definition at line 70 of file qsqldriver.h.