<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                # QSqlDriver Class Reference ## [[QtSql](index.htm) module] 該QSqlDriver類是用于訪問特定的SQL數據庫的抽象基類。[More...](#details) 繼承[QObject](qobject.html)。 ### Types * `enum DriverFeature { Transactions, QuerySize, BLOB, Unicode, ..., MultipleResultSets }` * `enum IdentifierType { FieldName, TableName }` * `enum StatementType { WhereStatement, SelectStatement, UpdateStatement, InsertStatement, DeleteStatement }` ### Methods * `__init__ (self, QObject?parent?=?None)` * `bool beginTransaction (self)` * `close (self)` * `bool commitTransaction (self)` * `QSqlResult createResult (self)` * `QString escapeIdentifier (self, QString?identifier, IdentifierType?type)` * `QString formatValue (self, QSqlField?field, bool?trimStrings?=?False)` * `QVariant handle (self)` * `bool hasFeature (self, DriverFeature?f)` * `bool isIdentifierEscaped (self, QString?identifier, IdentifierType?type)` * `bool isIdentifierEscapedImplementation (self, QString?identifier, IdentifierType?type)` * `bool isOpen (self)` * `bool isOpenError (self)` * `QSqlError lastError (self)` * `QSql.NumericalPrecisionPolicy numericalPrecisionPolicy (self)` * `bool open (self, QString?db, QString?user?=?QString(), QString?password?=?QString(), QString?host?=?QString(), int?port?=?-1, QString?options?=?QString())` * `QSqlIndex primaryIndex (self, QString?tableName)` * `QSqlRecord record (self, QString?tableName)` * `bool rollbackTransaction (self)` * `setLastError (self, QSqlError?e)` * `setNumericalPrecisionPolicy (self, QSql.NumericalPrecisionPolicy?precisionPolicy)` * `setOpen (self, bool?o)` * `setOpenError (self, bool?e)` * `QString sqlStatement (self, StatementType?type, QString?tableName, QSqlRecord?rec, bool?preparedStatement)` * `QString stripDelimiters (self, QString?identifier, IdentifierType?type)` * `QString stripDelimitersImplementation (self, QString?identifier, IdentifierType?type)` * `QStringList subscribedToNotifications (self)` * `QStringList subscribedToNotificationsImplementation (self)` * `bool subscribeToNotification (self, QString?name)` * `bool subscribeToNotificationImplementation (self, QString?name)` * `QStringList tables (self, QSql.TableType?tableType)` * `bool unsubscribeFromNotification (self, QString?name)` * `bool unsubscribeFromNotificationImplementation (self, QString?name)` ### Qt Signals * `void notification (const QString&)` * * * ## Detailed Description 該QSqlDriver類是用于訪問特定的SQL數據庫的抽象基類。 這個類不應該直接使用。使用[QSqlDatabase](qsqldatabase.html)代替。 如果你想創建自己的SQL驅動程序,你可以繼承這個類,并重新實現它的純虛函數,而且你需要那些虛函數。看[How to Write Your Own Database Driver](index.htm#how-to-write-your-own-database-driver)了解更多信息。 * * * ## Type Documentation ``` QSqlDriver.DriverFeature ``` 此枚舉包含的功能驅動程序可能支持的列表。使用[hasFeature](qsqldriver.html#hasFeature)( )來查詢功能是否支持與否。 | Constant | Value | Description | | --- | --- | --- | | `QSqlDriver.Transactions` | `0` | 驅動程序是否支持SQL交易。 | | `QSqlDriver.QuerySize` | `1` | 數據庫是否能夠報告一個查詢的大小。請注意,某些數據庫不支持返回查詢的大小(即返回的行數) ,在這種情況下,[QSqlQuery.size](qsqlquery.html#size)( )將返回-1 。 | | `QSqlDriver.BLOB` | `2` | 驅動程序是否支持二進制大對象字段。 | | `QSqlDriver.Unicode` | `3` | 驅動程序是否支持Unicode字符串,如果數據庫服務器一樣。 | | `QSqlDriver.PreparedQueries` | `4` | 驅動程序是否支持準備好的查詢執行。 | | `QSqlDriver.NamedPlaceholders` | `5` | 驅動程序是否支持使用命名佔位符。 | | `QSqlDriver.PositionalPlaceholders` | `6` | 驅動程序是否支持使用位置佔位符。 | | `QSqlDriver.LastInsertId` | `7` | 驅動程序是否支持返回的最后一行感動的Id 。 | | `QSqlDriver.BatchOperations` | `8` | 無論是驅動程序支持批處理操作,請參閱[QSqlQuery.execBatch](qsqlquery.html#execBatch)( ) | | `QSqlDriver.SimpleLocking` | `9` | 無論是駕駛者不允許在表上寫鎖,而其他的查詢有它的讀鎖。 | | `QSqlDriver.LowPrecisionNumbers` | `10` | 驅動程序是否允許使用低精度取數值。 | | `QSqlDriver.EventNotifications` | `11` | 驅動程序是否支持數據庫事件通知。 | | `QSqlDriver.FinishQuery` | `12` | 該驅動程序是否可以做任何低級別的資源清理時[QSqlQuery.finish](qsqlquery.html#finish)()被調用。 | | `QSqlDriver.MultipleResultSets` | `13` | 該驅動程序是否可以訪問批處理語句或存儲過程返回多個結果集。 | 有關支持的功能的詳細信息可以在被發現[Qt SQL driver](index.htm)文檔。 **See also** [hasFeature](qsqldriver.html#hasFeature)( ) 。 ``` QSqlDriver.IdentifierType ``` 此枚舉包含的SQL標識符類型的列表。 | Constant | Value | Description | | --- | --- | --- | | `QSqlDriver.FieldName` | `0` | 一個SQL字段名 | | `QSqlDriver.TableName` | `1` | 一個SQL表名 | ``` QSqlDriver.StatementType ``` 此枚舉包含SQL語句(或語句)的列表類型的驅動程序可以創建。 | Constant | Value | Description | | --- | --- | --- | | `QSqlDriver.WhereStatement` | `0` | 一個SQL`WHERE`語句(例如,`WHERE f = 5`) 。 | | `QSqlDriver.SelectStatement` | `1` | 一個SQL`SELECT`語句(例如,`SELECT f FROM t`) 。 | | `QSqlDriver.UpdateStatement` | `2` | 一個SQL`UPDATE`語句(例如,`UPDATE TABLE t set f = 1`) 。 | | `QSqlDriver.InsertStatement` | `3` | 一個SQL`INSERT`語句(例如,`INSERT INTO t (f) values (1)`) 。 | | `QSqlDriver.DeleteStatement` | `4` | 一個SQL`DELETE`語句(例如,`DELETE FROM t`) 。 | **See also** [sqlStatement](qsqldriver.html#sqlStatement)( ) 。 * * * ## Method Documentation ``` QSqlDriver.__init__ (self, QObject?parent?=?None) ``` 該_parent_的說法,如果不是沒有,原因_self_通過Qt的,而不是PyQt的擁有。 構造一個新的驅動程序給定的_parent_。 ``` bool QSqlDriver.beginTransaction (self) ``` 這個函數被調用來開始一個事務。如果成功,則返回True,否則返回False 。默認實現不執行任何操作并返回False 。 **See also** [commitTransaction](qsqldriver.html#commitTransaction)()和[rollbackTransaction](qsqldriver.html#rollbackTransaction)( ) 。 ``` QSqlDriver.close (self) ``` 這種方法是抽象的,應在任何子類中重新實現。 派生類必須以關閉數據庫連接重新實現這個純虛函數。返回成功,假的真失敗。 **See also** [open](qsqldriver.html#open)()和[setOpen](qsqldriver.html#setOpen)( ) 。 ``` bool QSqlDriver.commitTransaction (self) ``` 這個函數被調用來提交事務。如果成功,則返回True,否則返回False 。默認實現不執行任何操作并返回False 。 **See also** [beginTransaction](qsqldriver.html#beginTransaction)()和[rollbackTransaction](qsqldriver.html#rollbackTransaction)( ) 。 ``` QSqlResult QSqlDriver.createResult (self) ``` [ 這種方法是抽象的,應在任何子類中重新實現。 ](qsqlresult.html) [創建數據庫在一個空的SQL結果。派生類必須重新實現這個函數,并返回一個](qsqlresult.html)[QSqlResult](qsqlresult.html)對象適合自己的數據庫給調用者。 ``` QString QSqlDriver.escapeIdentifier (self, QString?identifier, IdentifierType?type) ``` 返回_identifier_根據數據庫的規則逃過一劫。_identifier_可以是一個表名或字段名,依賴于_type_。 默認實現不執行任何操作。 **See also** [isIdentifierEscaped](qsqldriver.html#isIdentifierEscaped)( ) 。 ``` QString QSqlDriver.formatValue (self, QSqlField?field, bool?trimStrings?=?False) ``` 返回的字符串表示形式_field_值的數據庫。這被使用,例如,建設INSERT和UPDATE語句時。 缺省的實現返回格式化為根據以下規則的字符串的值: * 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](qbytearray.html) 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. **See also** [QVariant.toString](qvariant.html#toString)( ) 。 ``` QVariant QSqlDriver.handle (self) ``` 返回低水平數據庫句柄包裹在一個[QVariant](qvariant.html)或無效的變體,如果沒有手柄。 **Warning:**使用這種具有極處的照顧和只有當你知道你在做什么。 **Warning:**這里返回的句柄可以成為一個過時的指針,如果連接被修改(例如,如果您關閉了連接) 。 **Warning:**手柄可以是NULL如果連接尚未打開。 這里返回的句柄是依賴于數據庫的,你應該訪問它之前,查詢變量的類型名稱。 本示例檢索句柄到sqlite的連接: ``` [QSqlDatabase](qsqldatabase.html) db = ...; [QVariant](qvariant.html) v = db.driver()->handle(); if (v.isValid() && qstrcmp(v.typeName(), "sqlite3*") == 0) { // v.data() returns a pointer to the handle sqlite3 *handle = *static_cast<sqlite3 **>(v.data()); if (handle != 0) { // check that it is not NULL ... } } ``` 這段代碼返回的句柄PostgreSQL或MySQL : ``` if (qstrcmp(v.typeName(), "PGconn*") == 0) { PGconn *handle = *static_cast<PGconn **>(v.data()); if (handle != 0) ... } if (qstrcmp(v.typeName(), "MYSQL*") == 0) { MYSQL *handle = *static_cast<MYSQL **>(v.data()); if (handle != 0) ... } ``` **See also** [QSqlResult.handle](qsqlresult.html#handle)( ) 。 ``` bool QSqlDriver.hasFeature (self, DriverFeature?f) ``` 這種方法是抽象的,應在任何子類中重新實現。 如果驅動程序支持功能,則返回True_feature_否則返回False 。 請注意,某些數據庫需[open](qsqldriver.html#open)( )在此之前才能確定。 **See also** [DriverFeature](qsqldriver.html#DriverFeature-enum)。 ``` bool QSqlDriver.isIdentifierEscaped (self, QString?identifier, IdentifierType?type) ``` 返回是否_identifier_根據該數據庫的規則逃脫。_identifier_可以是一個表名或字段名,依賴于_type_。 **Warning:**因為二進制兼容性的限制,這個功能是不是虛擬的。如果你想提供自己的實現在你的[QSqlDriver](qsqldriver.html)子類,重新實現[isIdentifierEscapedImplementation](qsqldriver.html#isIdentifierEscapedImplementation)()槽在你的子類來代替。該isIdentifierEscapedFunction ( )會動態偵測插槽,并調用它。 **See also** [stripDelimiters](qsqldriver.html#stripDelimiters)()和[escapeIdentifier](qsqldriver.html#escapeIdentifier)( ) 。 ``` bool QSqlDriver.isIdentifierEscapedImplementation (self, QString?identifier, IdentifierType?type) ``` 這種方法也是一個Qt槽與C + +的簽名`bool isIdentifierEscapedImplementation(const QString&,QSqlDriver::IdentifierType) const`。 此插槽是否返回_identifier_根據該數據庫的規則逃脫。_identifier_可以是一個表名或字段名,依賴于_type_。 因為二進制兼容性的限制,[isIdentifierEscaped](qsqldriver.html#isIdentifierEscaped)( )函數(在Qt的4.5中引入)是不是虛擬的。相反,[isIdentifierEscaped](qsqldriver.html#isIdentifierEscaped)( )將動態檢測并調用_this_插槽。默認實現假設轉義/分隔符是雙引號。重新實現這個插槽在自己的[QSqlDriver](qsqldriver.html)如果您的數據庫引擎使用不同的分隔符。 此功能被引入Qt的4.6 。 **See also** [isIdentifierEscaped](qsqldriver.html#isIdentifierEscaped)( ) 。 ``` bool QSqlDriver.isOpen (self) ``` 返回True如果數據庫連接處于打開狀態,否則返回False 。 ``` bool QSqlDriver.isOpenError (self) ``` 返回True如果有一個錯誤打開數據庫連接,否則返回False 。 ``` QSqlError QSqlDriver.lastError (self) ``` [](qsqlerror.html) [返回](qsqlerror.html)[QSqlError](qsqlerror.html)對象,該對象包含有關數據庫上發生的最后一個錯誤信息。 **See also** [setLastError](qsqldriver.html#setLastError)( ) 。 ``` QSql.NumericalPrecisionPolicy QSqlDriver.numericalPrecisionPolicy (self) ``` [ 返回數據庫連接的當前默認精度的政策。 此功能被引入Qt的4.6 。 ](qsql.html#NumericalPrecisionPolicy-enum) [**See also**](qsql.html#NumericalPrecisionPolicy-enum) [QSql.NumericalPrecisionPolicy](qsql.html#NumericalPrecisionPolicy-enum),[setNumericalPrecisionPolicy](qsqldriver.html#setNumericalPrecisionPolicy)( )[QSqlQuery.numericalPrecisionPolicy](qsqlquery.html#numericalPrecisionPolicy)()和[QSqlQuery.setNumericalPrecisionPolicy](qsqlquery.html#setNumericalPrecisionPolicy)( ) 。 ``` bool QSqlDriver.open (self, QString?db, QString?user?=?QString(), QString?password?=?QString(), QString?host?=?QString(), int?port?=?-1, QString?options?=?QString()) ``` 這種方法是抽象的,應在任何子類中重新實現。 派生類必須重新實現這個純虛函數打開的數據庫的數據庫連接_db_,使用的用戶名_user_,密碼_password_,主機_host_,端口_port_和連接選項_options_。 該函數必須返回成功,假的真失敗。 **See also** [setOpen](qsqldriver.html#setOpen)( ) 。 ``` QSqlIndex QSqlDriver.primaryIndex (self, QString?tableName) ``` [](qsqlindex.html) [返回表的主索引_tableName_。返回一個空](qsqlindex.html)[QSqlIndex](qsqlindex.html)如果表沒有主索引。默認實現返回一個空的索引。 ``` QSqlRecord QSqlDriver.record (self, QString?tableName) ``` [](qsqlrecord.html) [返回](qsqlrecord.html)[QSqlRecord](qsqlrecord.html)填充在表中的字段的名稱_tableName_。如果沒有這樣的表存在,則返回一個空的記錄。默認實現返回一個空的記錄。 ``` bool QSqlDriver.rollbackTransaction (self) ``` 這個函數被調用來回滾事務。如果成功,則返回True,否則返回False 。默認實現不執行任何操作并返回False 。 **See also** [beginTransaction](qsqldriver.html#beginTransaction)()和[commitTransaction](qsqldriver.html#commitTransaction)( ) 。 ``` QSqlDriver.setLastError (self, QSqlError?e) ``` 這個函數是用來設置的最后一個錯誤的值,_error_,發生在數據庫上。 **See also** [lastError](qsqldriver.html#lastError)( ) 。 ``` QSqlDriver.setNumericalPrecisionPolicy (self, QSql.NumericalPrecisionPolicy?precisionPolicy) ``` 設置使用此驅動程序來創建查詢的默認數值精度的政策_precisionPolicy_。 注意:默認精度策略設置來_precisionPolicy_不影響任何當前活動的查詢。 此功能被引入Qt的4.6 。 **See also** [QSql.NumericalPrecisionPolicy](qsql.html#NumericalPrecisionPolicy-enum),[numericalPrecisionPolicy](qsqldriver.html#numericalPrecisionPolicy)( )[QSqlQuery.setNumericalPrecisionPolicy](qsqlquery.html#setNumericalPrecisionPolicy)()和[QSqlQuery.numericalPrecisionPolicy](qsqlquery.html#numericalPrecisionPolicy)( ) 。 ``` QSqlDriver.setOpen (self, bool?o) ``` 這個函數設置數據庫的打開狀態以_open_。派生類可以使用此功能來報告的狀態[open](qsqldriver.html#open)( ) 。 **See also** [open](qsqldriver.html#open)()和[setOpenError](qsqldriver.html#setOpenError)( ) 。 ``` QSqlDriver.setOpenError (self, bool?e) ``` 這個函數設置數據庫的打開錯誤狀態_error_。派生類可以使用此功能來報告的狀態[open](qsqldriver.html#open)( ) 。注意,如果_error_是真正的數據庫的打開狀態設置為關閉(即,[isOpen](qsqldriver.html#isOpen)( )返回False ) 。 **See also** [isOpenError](qsqldriver.html#isOpenError)( )[open](qsqldriver.html#open)()和[setOpen](qsqldriver.html#setOpen)( ) 。 ``` QString QSqlDriver.sqlStatement (self, StatementType?type, QString?tableName, QSqlRecord?rec, bool?preparedStatement) ``` 返回類型的SQL語句_type_為表_tableName_從數值_rec_。如果_preparedStatement_為True,則字符串將包含佔位符,而不是價值。 這種方法可以用來處理表,而不必擔心依賴于數據庫的SQL方言。對于非預處理語句,該值將被正確地轉義。 ``` QString QSqlDriver.stripDelimiters (self, QString?identifier, IdentifierType?type) ``` 返回_identifier_帶的前緣和后分隔符取出,_identifier_可以是一個表名或字段名,依賴于_type_。如果_identifier_沒有開頭和結尾的分隔符,_identifier_無需修改被返回。 **Warning:**因為二進制兼容性的限制,這個功能是不是虛擬的,如果你想提供自己的實現在你的[QSqlDriver](qsqldriver.html)子類,重新實現[stripDelimitersImplementation](qsqldriver.html#stripDelimitersImplementation)()槽在你的子類來代替。該stripDelimiters ( )函數將動態檢測插槽,并調用它。 此功能被引入Qt的4.5 。 **See also** [isIdentifierEscaped](qsqldriver.html#isIdentifierEscaped)( ) 。 ``` QString QSqlDriver.stripDelimitersImplementation (self, QString?identifier, IdentifierType?type) ``` 這種方法也是一個Qt槽與C + +的簽名`QString stripDelimitersImplementation(const QString&,QSqlDriver::IdentifierType) const`。 這個插槽回報_identifier_帶的前緣和后分隔符取出,_identifier_可以是一個表名或字段名,依賴于_type_。如果_identifier_沒有開頭和結尾的分隔符,_identifier_無需修改被返回。 因為二進制兼容性的限制,在[stripDelimiters](qsqldriver.html#stripDelimiters)( )函數(在Qt的4.5中引入)是不是虛擬的。相反,[stripDelimiters](qsqldriver.html#stripDelimiters)( )將動態檢測并調用_this_插槽。它通常不需要重新實現此插槽。 此功能被引入Qt的4.6 。 **See also** [stripDelimiters](qsqldriver.html#stripDelimiters)( ) 。 ``` QStringList QSqlDriver.subscribedToNotifications (self) ``` 返回當前訂閱的事件通知的名稱列表。 **Warning:**因為二進制兼容性的限制,這個功能是不是虛擬的。如果您想提供事件通知的支持在自己的[QSqlDriver](qsqldriver.html)子類,重新實現[subscribedToNotificationsImplementation](qsqldriver.html#subscribedToNotificationsImplementation)()槽在你的子類來代替。該subscribedToNotifications ( )函數將動態檢測插槽,并調用它。 此功能被引入Qt的4.4 。 **See also** [subscribeToNotification](qsqldriver.html#subscribeToNotification)()和[unsubscribeFromNotification](qsqldriver.html#unsubscribeFromNotification)( ) 。 ``` QStringList QSqlDriver.subscribedToNotificationsImplementation (self) ``` 這種方法也是一個Qt槽與C + +的簽名`QStringList subscribedToNotificationsImplementation() const`。 返回當前訂閱的事件通知的名稱列表。 重新實現這個插槽來提供自己的[QSqlDriver](qsqldriver.html)繼承與事件通知的支持,因為二進制兼容性的限制,[subscribedToNotifications](qsqldriver.html#subscribedToNotifications)( )函數(在Qt的4.4中引入)是不是虛擬的。相反,[subscribedToNotifications](qsqldriver.html#subscribedToNotifications)( )將動態檢測并調用_this_插槽。默認實現返回一個空[QStringList](qstringlist.html)。 此功能被引入Qt的4.4 。 **See also** [subscribedToNotifications](qsqldriver.html#subscribedToNotifications)( ) 。 ``` bool QSqlDriver.subscribeToNotification (self, QString?name) ``` 調用此函數來訂閱事件通知從數據庫中。_name_標識事件的通知。 如果成功,則返回True,否則返回False 。 該數據庫必須處于打開狀態時,此函數被調用。當數據庫是通過調用關閉[close](qsqldriver.html#close)( )所有訂閱事件通知將自動取消訂閱。請注意,調用[open](qsqldriver.html#open)( )在一個已經打開的數據庫可能會導致隱[close](qsqldriver.html#close)( )被調用,這將導致驅動程序的所有事件通知退訂。 當一個事件通知確定_name_張貼由數據庫的[notification](qsqldriver.html#notification)()信號被發射。 **Warning:**因為二進制兼容性的限制,這個功能是不是虛擬的。如果您想提供事件通知的支持在自己的[QSqlDriver](qsqldriver.html)子類,重新實現[subscribeToNotificationImplementation](qsqldriver.html#subscribeToNotificationImplementation)()槽在你的子類來代替。該subscribeToNotification ( )函數將動態檢測插槽,并調用它。 此功能被引入Qt的4.4 。 **See also** [unsubscribeFromNotification](qsqldriver.html#unsubscribeFromNotification)( )[subscribedToNotifications](qsqldriver.html#subscribedToNotifications)()和[QSqlDriver.hasFeature](qsqldriver.html#hasFeature)( ) 。 ``` bool QSqlDriver.subscribeToNotificationImplementation (self, QString?name) ``` 這種方法也是一個Qt槽與C + +的簽名`bool subscribeToNotificationImplementation(const QString&)`。 這個槽被調用來訂閱事件通知從數據庫中。_name_標識事件的通知。 如果成功,則返回True,否則返回False 。 該數據庫必須在此公開_slot_被調用。當數據庫是通過調用關閉[close](qsqldriver.html#close)( )所有訂閱事件通知將自動取消訂閱。請注意,調用[open](qsqldriver.html#open)( )在一個已經打開的數據庫可能會導致隱[close](qsqldriver.html#close)( )被調用,這將導致驅動程序的所有事件通知退訂。 當一個事件通知確定_name_張貼由數據庫的[notification](qsqldriver.html#notification)()信號被發射。 重新實現這個插槽來提供自己的[QSqlDriver](qsqldriver.html)繼承與事件通知的支持,因為二進制兼容性的限制,[subscribeToNotification](qsqldriver.html#subscribeToNotification)( )函數(在Qt的4.4中引入)是不是虛擬的。相反,[subscribeToNotification](qsqldriver.html#subscribeToNotification)( )將動態檢測并調用_this_插槽。默認實現不執行任何操作并返回False 。 此功能被引入Qt的4.4 。 **See also** [subscribeToNotification](qsqldriver.html#subscribeToNotification)( ) 。 ``` QStringList QSqlDriver.tables (self, QSql.TableType?tableType) ``` 返回該數據庫中的表的名稱的列表。默認實現返回一個空列表。 該_tableType_參數說明什么類型的表應該返回。由于二進制兼容性,該字符串包含枚舉QSql.TableTypes作為文本的價值。一個空字符串應被視為[QSql.Tables](qsql.html#TableType-enum)為了向后兼容。 ``` bool QSqlDriver.unsubscribeFromNotification (self, QString?name) ``` 此功能稱為從數據庫事件通知退訂。_name_標識事件的通知。 如果成功,則返回True,否則返回False 。 該數據庫必須處于打開狀態時,此函數被調用。所有訂閱的事件通知是從時自動取消訂閱的[close](qsqldriver.html#close)( )函數被調用。 后調用_this_功能[notification](qsqldriver.html#notification)()信號將不再當一個事件通知確定了發射_name_張貼由數據庫。 **Warning:**因為二進制兼容性的限制,這個功能是不是虛擬的。如果您想提供事件通知的支持在自己的[QSqlDriver](qsqldriver.html)子類,重新實現[unsubscribeFromNotificationImplementation](qsqldriver.html#unsubscribeFromNotificationImplementation)()槽在你的子類來代替。該unsubscribeFromNotification ( )函數將動態檢測插槽,并調用它。 此功能被引入Qt的4.4 。 **See also** [subscribeToNotification](qsqldriver.html#subscribeToNotification)()和[subscribedToNotifications](qsqldriver.html#subscribedToNotifications)( ) 。 ``` bool QSqlDriver.unsubscribeFromNotificationImplementation (self, QString?name) ``` 這種方法也是一個Qt槽與C + +的簽名`bool unsubscribeFromNotificationImplementation(const QString&)`。 這個槽被調用從數據庫事件通知退訂。_name_標識事件的通知。 如果成功,則返回True,否則返回False 。 該數據庫時,必須打開_this_槽被調用。所有訂閱的事件通知是從時自動取消訂閱的[close](qsqldriver.html#close)( )函數被調用。 后調用_this_在插槽[notification](qsqldriver.html#notification)()信號將不再當一個事件通知確定了發射_name_張貼由數據庫。 重新實現這個插槽來提供自己的[QSqlDriver](qsqldriver.html)繼承與事件通知的支持,因為二進制兼容性的限制,[unsubscribeFromNotification](qsqldriver.html#unsubscribeFromNotification)( )函數(在Qt的4.4中引入)是不是虛擬的。相反,[unsubscribeFromNotification](qsqldriver.html#unsubscribeFromNotification)( )將動態檢測并調用_this_插槽。默認實現不執行任何操作并返回False 。 此功能被引入Qt的4.4 。 **See also** [unsubscribeFromNotification](qsqldriver.html#unsubscribeFromNotification)( ) 。 * * * ## Qt Signal Documentation ``` void notification (const QString&) ``` 這是該信號的默認超載。 這個信號被發射時的數據庫職位為駕駛員所預訂的事件通知。_name_標識事件的通知。 此功能被引入Qt的4.4 。 **See also** [subscribeToNotification](qsqldriver.html#subscribeToNotification)( ) 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看