QtSql.pyi 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660
  1. # The PEP 484 type hints stub file for the QtSql module.
  2. #
  3. # Generated by SIP 6.15.3
  4. #
  5. # Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
  6. #
  7. # This file is part of PyQt6.
  8. #
  9. # This file may be used under the terms of the GNU General Public License
  10. # version 3.0 as published by the Free Software Foundation and appearing in
  11. # the file LICENSE included in the packaging of this file. Please review the
  12. # following information to ensure the GNU General Public License version 3.0
  13. # requirements will be met: http://www.gnu.org/copyleft/gpl.html.
  14. #
  15. # If you do not wish to use this file under the terms of the GPL version 3.0
  16. # then you may purchase a commercial license. For more information contact
  17. # info@riverbankcomputing.com.
  18. #
  19. # This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
  20. # WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  21. import collections, re, typing, enum
  22. try:
  23. from warnings import deprecated
  24. except ImportError:
  25. pass
  26. import PyQt6.sip
  27. from PyQt6 import QtCore
  28. from PyQt6 import QtGui
  29. from PyQt6 import QtWidgets
  30. # Support for QDate, QDateTime and QTime.
  31. import datetime
  32. # Convenient type aliases.
  33. PYQT_SIGNAL = typing.Union[QtCore.pyqtSignal, QtCore.pyqtBoundSignal]
  34. PYQT_SLOT = typing.Union[collections.abc.Callable[..., Any], QtCore.pyqtBoundSignal]
  35. class QSqlDriverCreatorBase(PyQt6.sip.wrapper):
  36. @typing.overload
  37. def __init__(self) -> None: ...
  38. @typing.overload
  39. def __init__(self, a0: 'QSqlDriverCreatorBase') -> None: ...
  40. def createObject(self) -> 'QSqlDriver|None': ...
  41. class QSqlDatabase(PyQt6.sip.simplewrapper):
  42. @typing.overload
  43. def __init__(self) -> None: ...
  44. @typing.overload
  45. def __init__(self, other: 'QSqlDatabase') -> None: ...
  46. @typing.overload
  47. def __init__(self, type: str|None) -> None: ...
  48. @typing.overload
  49. def __init__(self, driver: 'QSqlDriver|None') -> None: ...
  50. def thread(self) -> QtCore.QThread|None: ...
  51. def moveToThread(self, targetThread: QtCore.QThread|None) -> bool: ...
  52. def numericalPrecisionPolicy(self) -> 'QSql.NumericalPrecisionPolicy': ...
  53. def setNumericalPrecisionPolicy(self, precisionPolicy: 'QSql.NumericalPrecisionPolicy') -> None: ...
  54. @staticmethod
  55. def isDriverAvailable(name: str|None) -> bool: ...
  56. @staticmethod
  57. def registerSqlDriver(name: str|None, creator: QSqlDriverCreatorBase|None) -> None: ...
  58. @staticmethod
  59. def connectionNames() -> list[str]: ...
  60. @staticmethod
  61. def drivers() -> list[str]: ...
  62. @staticmethod
  63. def contains(connectionName: str|None = ...) -> bool: ...
  64. @staticmethod
  65. def removeDatabase(connectionName: str|None) -> None: ...
  66. @staticmethod
  67. def database(connectionName: str|None = ..., open: bool = ...) -> 'QSqlDatabase': ...
  68. @typing.overload
  69. @staticmethod
  70. def cloneDatabase(other: 'QSqlDatabase', connectionName: str|None) -> 'QSqlDatabase': ...
  71. @typing.overload
  72. @staticmethod
  73. def cloneDatabase(other: str|None, connectionName: str|None) -> 'QSqlDatabase': ...
  74. @typing.overload
  75. @staticmethod
  76. def addDatabase(type: str|None, connectionName: str|None = ...) -> 'QSqlDatabase': ...
  77. @typing.overload
  78. @staticmethod
  79. def addDatabase(driver: 'QSqlDriver|None', connectionName: str|None = ...) -> 'QSqlDatabase': ...
  80. def driver(self) -> 'QSqlDriver|None': ...
  81. def connectionName(self) -> str: ...
  82. def connectOptions(self) -> str: ...
  83. def port(self) -> int: ...
  84. def driverName(self) -> str: ...
  85. def hostName(self) -> str: ...
  86. def password(self) -> str: ...
  87. def userName(self) -> str: ...
  88. def databaseName(self) -> str: ...
  89. def setConnectOptions(self, options: str|None = ...) -> None: ...
  90. def setPort(self, p: int) -> None: ...
  91. def setHostName(self, host: str|None) -> None: ...
  92. def setPassword(self, password: str|None) -> None: ...
  93. def setUserName(self, name: str|None) -> None: ...
  94. def setDatabaseName(self, name: str|None) -> None: ...
  95. def rollback(self) -> bool: ...
  96. def commit(self) -> bool: ...
  97. def transaction(self) -> bool: ...
  98. def isValid(self) -> bool: ...
  99. def lastError(self) -> 'QSqlError': ...
  100. def exec(self, query: str|None = ...) -> 'QSqlQuery': ...
  101. def record(self, tablename: str|None) -> 'QSqlRecord': ...
  102. def primaryIndex(self, tablename: str|None) -> 'QSqlIndex': ...
  103. def tables(self, type: 'QSql.TableType' = ...) -> list[str]: ...
  104. def isOpenError(self) -> bool: ...
  105. def isOpen(self) -> bool: ...
  106. def close(self) -> None: ...
  107. @typing.overload
  108. def open(self) -> bool: ...
  109. @typing.overload
  110. def open(self, user: str|None, password: str|None) -> bool: ...
  111. class QSqlDriver(QtCore.QObject):
  112. class DbmsType(enum.Enum):
  113. UnknownDbms = ... # type: QSqlDriver.DbmsType
  114. MSSqlServer = ... # type: QSqlDriver.DbmsType
  115. MySqlServer = ... # type: QSqlDriver.DbmsType
  116. PostgreSQL = ... # type: QSqlDriver.DbmsType
  117. Oracle = ... # type: QSqlDriver.DbmsType
  118. Sybase = ... # type: QSqlDriver.DbmsType
  119. SQLite = ... # type: QSqlDriver.DbmsType
  120. Interbase = ... # type: QSqlDriver.DbmsType
  121. DB2 = ... # type: QSqlDriver.DbmsType
  122. MimerSQL = ... # type: QSqlDriver.DbmsType
  123. class NotificationSource(enum.Enum):
  124. UnknownSource = ... # type: QSqlDriver.NotificationSource
  125. SelfSource = ... # type: QSqlDriver.NotificationSource
  126. OtherSource = ... # type: QSqlDriver.NotificationSource
  127. class IdentifierType(enum.Enum):
  128. FieldName = ... # type: QSqlDriver.IdentifierType
  129. TableName = ... # type: QSqlDriver.IdentifierType
  130. class StatementType(enum.Enum):
  131. WhereStatement = ... # type: QSqlDriver.StatementType
  132. SelectStatement = ... # type: QSqlDriver.StatementType
  133. UpdateStatement = ... # type: QSqlDriver.StatementType
  134. InsertStatement = ... # type: QSqlDriver.StatementType
  135. DeleteStatement = ... # type: QSqlDriver.StatementType
  136. class DriverFeature(enum.Enum):
  137. Transactions = ... # type: QSqlDriver.DriverFeature
  138. QuerySize = ... # type: QSqlDriver.DriverFeature
  139. BLOB = ... # type: QSqlDriver.DriverFeature
  140. Unicode = ... # type: QSqlDriver.DriverFeature
  141. PreparedQueries = ... # type: QSqlDriver.DriverFeature
  142. NamedPlaceholders = ... # type: QSqlDriver.DriverFeature
  143. PositionalPlaceholders = ... # type: QSqlDriver.DriverFeature
  144. LastInsertId = ... # type: QSqlDriver.DriverFeature
  145. BatchOperations = ... # type: QSqlDriver.DriverFeature
  146. SimpleLocking = ... # type: QSqlDriver.DriverFeature
  147. LowPrecisionNumbers = ... # type: QSqlDriver.DriverFeature
  148. EventNotifications = ... # type: QSqlDriver.DriverFeature
  149. FinishQuery = ... # type: QSqlDriver.DriverFeature
  150. MultipleResultSets = ... # type: QSqlDriver.DriverFeature
  151. def __init__(self, parent: QtCore.QObject|None = ...) -> None: ...
  152. def connectionName(self) -> str: ...
  153. def maximumIdentifierLength(self, type: 'QSqlDriver.IdentifierType') -> int: ...
  154. def dbmsType(self) -> 'QSqlDriver.DbmsType': ...
  155. def numericalPrecisionPolicy(self) -> 'QSql.NumericalPrecisionPolicy': ...
  156. def setNumericalPrecisionPolicy(self, precisionPolicy: 'QSql.NumericalPrecisionPolicy') -> None: ...
  157. def stripDelimiters(self, identifier: str|None, type: 'QSqlDriver.IdentifierType') -> str: ...
  158. def isIdentifierEscaped(self, identifier: str|None, type: 'QSqlDriver.IdentifierType') -> bool: ...
  159. notification: typing.ClassVar[QtCore.pyqtSignal]
  160. def subscribedToNotifications(self) -> list[str]: ...
  161. def unsubscribeFromNotification(self, name: str|None) -> bool: ...
  162. def subscribeToNotification(self, name: str|None) -> bool: ...
  163. def setLastError(self, e: 'QSqlError') -> None: ...
  164. def setOpenError(self, e: bool) -> None: ...
  165. def setOpen(self, o: bool) -> None: ...
  166. def open(self, db: str|None, user: str|None = ..., password: str|None = ..., host: str|None = ..., port: int = ..., options: str|None = ...) -> bool: ...
  167. def createResult(self) -> 'QSqlResult|None': ...
  168. def close(self) -> None: ...
  169. def hasFeature(self, f: 'QSqlDriver.DriverFeature') -> bool: ...
  170. def handle(self) -> typing.Any: ...
  171. def lastError(self) -> 'QSqlError': ...
  172. def sqlStatement(self, type: 'QSqlDriver.StatementType', tableName: str|None, rec: 'QSqlRecord', preparedStatement: bool) -> str: ...
  173. def escapeIdentifier(self, identifier: str|None, type: 'QSqlDriver.IdentifierType') -> str: ...
  174. def formatValue(self, field: 'QSqlField', trimStrings: bool = ...) -> str: ...
  175. def record(self, tableName: str|None) -> 'QSqlRecord': ...
  176. def primaryIndex(self, tableName: str|None) -> 'QSqlIndex': ...
  177. def tables(self, tableType: 'QSql.TableType') -> list[str]: ...
  178. def rollbackTransaction(self) -> bool: ...
  179. def commitTransaction(self) -> bool: ...
  180. def beginTransaction(self) -> bool: ...
  181. def isOpenError(self) -> bool: ...
  182. def isOpen(self) -> bool: ...
  183. class QSqlError(PyQt6.sip.simplewrapper):
  184. class ErrorType(enum.Enum):
  185. NoError = ... # type: QSqlError.ErrorType
  186. ConnectionError = ... # type: QSqlError.ErrorType
  187. StatementError = ... # type: QSqlError.ErrorType
  188. TransactionError = ... # type: QSqlError.ErrorType
  189. UnknownError = ... # type: QSqlError.ErrorType
  190. @typing.overload
  191. def __init__(self, driverText: str|None = ..., databaseText: str|None = ..., type: 'QSqlError.ErrorType' = ..., errorCode: str|None = ...) -> None: ...
  192. @typing.overload
  193. def __init__(self, other: 'QSqlError') -> None: ...
  194. def swap(self, other: 'QSqlError') -> None: ...
  195. def nativeErrorCode(self) -> str: ...
  196. def __ne__(self, other: object): ...
  197. def __eq__(self, other: object): ...
  198. def isValid(self) -> bool: ...
  199. def text(self) -> str: ...
  200. def type(self) -> 'QSqlError.ErrorType': ...
  201. def databaseText(self) -> str: ...
  202. def driverText(self) -> str: ...
  203. class QSqlField(PyQt6.sip.simplewrapper):
  204. class RequiredStatus(enum.Enum):
  205. Unknown = ... # type: QSqlField.RequiredStatus
  206. Optional = ... # type: QSqlField.RequiredStatus
  207. Required = ... # type: QSqlField.RequiredStatus
  208. @typing.overload
  209. def __init__(self, fieldName: str|None = ..., type: QtCore.QMetaType = ..., tableName: str|None = ...) -> None: ...
  210. @typing.overload
  211. def __init__(self, other: 'QSqlField') -> None: ...
  212. def swap(self, other: 'QSqlField') -> None: ...
  213. def setMetaType(self, type: QtCore.QMetaType) -> None: ...
  214. def metaType(self) -> QtCore.QMetaType: ...
  215. def tableName(self) -> str: ...
  216. def setTableName(self, tableName: str|None) -> None: ...
  217. def isValid(self) -> bool: ...
  218. def isGenerated(self) -> bool: ...
  219. def typeID(self) -> int: ...
  220. def defaultValue(self) -> typing.Any: ...
  221. def precision(self) -> int: ...
  222. def length(self) -> int: ...
  223. def requiredStatus(self) -> 'QSqlField.RequiredStatus': ...
  224. def setAutoValue(self, autoVal: bool) -> None: ...
  225. def setGenerated(self, gen: bool) -> None: ...
  226. def setSqlType(self, type: int) -> None: ...
  227. def setDefaultValue(self, value: typing.Any) -> None: ...
  228. def setPrecision(self, precision: int) -> None: ...
  229. def setLength(self, fieldLength: int) -> None: ...
  230. def setRequired(self, required: bool) -> None: ...
  231. def setRequiredStatus(self, status: 'QSqlField.RequiredStatus') -> None: ...
  232. def isAutoValue(self) -> bool: ...
  233. def clear(self) -> None: ...
  234. def isReadOnly(self) -> bool: ...
  235. def setReadOnly(self, readOnly: bool) -> None: ...
  236. def isNull(self) -> bool: ...
  237. def name(self) -> str: ...
  238. def setName(self, name: str|None) -> None: ...
  239. def value(self) -> typing.Any: ...
  240. def setValue(self, value: typing.Any) -> None: ...
  241. def __ne__(self, other: object): ...
  242. def __eq__(self, other: object): ...
  243. class QSqlRecord(PyQt6.sip.simplewrapper):
  244. @typing.overload
  245. def __init__(self) -> None: ...
  246. @typing.overload
  247. def __init__(self, other: 'QSqlRecord') -> None: ...
  248. def swap(self, other: 'QSqlRecord') -> None: ...
  249. def keyValues(self, keyFields: 'QSqlRecord') -> 'QSqlRecord': ...
  250. def __len__(self) -> int: ...
  251. def count(self) -> int: ...
  252. def clearValues(self) -> None: ...
  253. def clear(self) -> None: ...
  254. def contains(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> bool: ...
  255. def isEmpty(self) -> bool: ...
  256. def remove(self, pos: int) -> None: ...
  257. def insert(self, pos: int, field: QSqlField) -> None: ...
  258. def replace(self, pos: int, field: QSqlField) -> None: ...
  259. def append(self, field: QSqlField) -> None: ...
  260. @typing.overload
  261. def setGenerated(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None, generated: bool) -> None: ...
  262. @typing.overload
  263. def setGenerated(self, i: int, generated: bool) -> None: ...
  264. @typing.overload
  265. def isGenerated(self, i: int) -> bool: ...
  266. @typing.overload
  267. def isGenerated(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> bool: ...
  268. @typing.overload
  269. def field(self, i: int) -> QSqlField: ...
  270. @typing.overload
  271. def field(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> QSqlField: ...
  272. def fieldName(self, i: int) -> str: ...
  273. def indexOf(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> int: ...
  274. @typing.overload
  275. def isNull(self, i: int) -> bool: ...
  276. @typing.overload
  277. def isNull(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> bool: ...
  278. @typing.overload
  279. def setNull(self, i: int) -> None: ...
  280. @typing.overload
  281. def setNull(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> None: ...
  282. @typing.overload
  283. def setValue(self, i: int, val: typing.Any) -> None: ...
  284. @typing.overload
  285. def setValue(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None, val: typing.Any) -> None: ...
  286. @typing.overload
  287. def value(self, i: int) -> typing.Any: ...
  288. @typing.overload
  289. def value(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> typing.Any: ...
  290. def __ne__(self, other: object): ...
  291. def __eq__(self, other: object): ...
  292. class QSqlIndex(QSqlRecord):
  293. @typing.overload
  294. def __init__(self, cursorName: str|None = ..., name: str|None = ...) -> None: ...
  295. @typing.overload
  296. def __init__(self, other: 'QSqlIndex') -> None: ...
  297. def swap(self, other: 'QSqlIndex') -> None: ...
  298. def setDescending(self, i: int, desc: bool) -> None: ...
  299. def isDescending(self, i: int) -> bool: ...
  300. @typing.overload
  301. def append(self, field: QSqlField) -> None: ...
  302. @typing.overload
  303. def append(self, field: QSqlField, desc: bool) -> None: ...
  304. def name(self) -> str: ...
  305. def setName(self, name: str|None) -> None: ...
  306. def cursorName(self) -> str: ...
  307. def setCursorName(self, cursorName: str|None) -> None: ...
  308. class QSqlQuery(PyQt6.sip.simplewrapper):
  309. class BatchExecutionMode(enum.Enum):
  310. ValuesAsRows = ... # type: QSqlQuery.BatchExecutionMode
  311. ValuesAsColumns = ... # type: QSqlQuery.BatchExecutionMode
  312. @typing.overload
  313. def __init__(self, db: QSqlDatabase) -> None: ...
  314. @typing.overload
  315. def __init__(self, query: str|None = ..., db: QSqlDatabase = ...) -> None: ...
  316. @typing.overload
  317. def __init__(self, r: 'QSqlResult|None') -> None: ...
  318. @typing.overload
  319. def __init__(self, other: 'QSqlQuery') -> None: ...
  320. def isPositionalBindingEnabled(self) -> bool: ...
  321. def setPositionalBindingEnabled(self, enable: bool) -> None: ...
  322. def boundValueName(self, pos: int) -> str: ...
  323. def boundValueNames(self) -> list[str]: ...
  324. def swap(self, other: 'QSqlQuery') -> None: ...
  325. def nextResult(self) -> bool: ...
  326. def finish(self) -> None: ...
  327. def numericalPrecisionPolicy(self) -> 'QSql.NumericalPrecisionPolicy': ...
  328. def setNumericalPrecisionPolicy(self, precisionPolicy: 'QSql.NumericalPrecisionPolicy') -> None: ...
  329. def lastInsertId(self) -> typing.Any: ...
  330. def executedQuery(self) -> str: ...
  331. def boundValues(self) -> list[typing.Any]: ...
  332. @typing.overload
  333. def boundValue(self, placeholder: str|None) -> typing.Any: ...
  334. @typing.overload
  335. def boundValue(self, pos: int) -> typing.Any: ...
  336. def addBindValue(self, val: typing.Any, type: 'QSql.ParamTypeFlag' = ...) -> None: ...
  337. @typing.overload
  338. def bindValue(self, placeholder: str|None, val: typing.Any, type: 'QSql.ParamTypeFlag' = ...) -> None: ...
  339. @typing.overload
  340. def bindValue(self, pos: int, val: typing.Any, type: 'QSql.ParamTypeFlag' = ...) -> None: ...
  341. def prepare(self, query: str|None) -> bool: ...
  342. def execBatch(self, mode: 'QSqlQuery.BatchExecutionMode' = ...) -> bool: ...
  343. def clear(self) -> None: ...
  344. def last(self) -> bool: ...
  345. def first(self) -> bool: ...
  346. def previous(self) -> bool: ...
  347. def next(self) -> bool: ...
  348. def seek(self, index: int, relative: bool = ...) -> bool: ...
  349. @typing.overload
  350. def value(self, i: int) -> typing.Any: ...
  351. @typing.overload
  352. def value(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> typing.Any: ...
  353. @typing.overload
  354. def exec(self, query: str|None) -> bool: ...
  355. @typing.overload
  356. def exec(self) -> bool: ...
  357. def setForwardOnly(self, forward: bool) -> None: ...
  358. def record(self) -> QSqlRecord: ...
  359. def isForwardOnly(self) -> bool: ...
  360. def result(self) -> 'QSqlResult|None': ...
  361. def driver(self) -> QSqlDriver|None: ...
  362. def size(self) -> int: ...
  363. def isSelect(self) -> bool: ...
  364. def lastError(self) -> QSqlError: ...
  365. def numRowsAffected(self) -> int: ...
  366. def lastQuery(self) -> str: ...
  367. def at(self) -> int: ...
  368. @typing.overload
  369. def isNull(self, field: int) -> bool: ...
  370. @typing.overload
  371. def isNull(self, name: QtCore.QByteArray|bytes|bytearray|memoryview|str|None) -> bool: ...
  372. def isActive(self) -> bool: ...
  373. def isValid(self) -> bool: ...
  374. class QSqlQueryModel(QtCore.QAbstractTableModel):
  375. def __init__(self, parent: QtCore.QObject|None = ...) -> None: ...
  376. def refresh(self) -> None: ...
  377. def roleNames(self) -> dict[int, QtCore.QByteArray]: ...
  378. def endRemoveColumns(self) -> None: ...
  379. def beginRemoveColumns(self, parent: QtCore.QModelIndex, first: int, last: int) -> None: ...
  380. def endInsertColumns(self) -> None: ...
  381. def beginInsertColumns(self, parent: QtCore.QModelIndex, first: int, last: int) -> None: ...
  382. def endRemoveRows(self) -> None: ...
  383. def beginRemoveRows(self, parent: QtCore.QModelIndex, first: int, last: int) -> None: ...
  384. def endInsertRows(self) -> None: ...
  385. def beginInsertRows(self, parent: QtCore.QModelIndex, first: int, last: int) -> None: ...
  386. def endResetModel(self) -> None: ...
  387. def beginResetModel(self) -> None: ...
  388. def setLastError(self, error: QSqlError) -> None: ...
  389. def indexInQuery(self, item: QtCore.QModelIndex) -> QtCore.QModelIndex: ...
  390. def queryChange(self) -> None: ...
  391. def canFetchMore(self, parent: QtCore.QModelIndex = ...) -> bool: ...
  392. def fetchMore(self, parent: QtCore.QModelIndex = ...) -> None: ...
  393. def lastError(self) -> QSqlError: ...
  394. def clear(self) -> None: ...
  395. def query(self) -> QSqlQuery: ...
  396. @typing.overload
  397. def setQuery(self, query: QSqlQuery) -> None: ...
  398. @typing.overload
  399. def setQuery(self, query: str|None, db: QSqlDatabase = ...) -> None: ...
  400. def removeColumns(self, column: int, count: int, parent: QtCore.QModelIndex = ...) -> bool: ...
  401. def insertColumns(self, column: int, count: int, parent: QtCore.QModelIndex = ...) -> bool: ...
  402. def setHeaderData(self, section: int, orientation: QtCore.Qt.Orientation, value: typing.Any, role: int = ...) -> bool: ...
  403. def headerData(self, section: int, orientation: QtCore.Qt.Orientation, role: int = ...) -> typing.Any: ...
  404. def data(self, item: QtCore.QModelIndex, role: int = ...) -> typing.Any: ...
  405. @typing.overload
  406. def record(self) -> QSqlRecord: ...
  407. @typing.overload
  408. def record(self, row: int) -> QSqlRecord: ...
  409. def columnCount(self, parent: QtCore.QModelIndex = ...) -> int: ...
  410. def rowCount(self, parent: QtCore.QModelIndex = ...) -> int: ...
  411. class QSqlRelationalDelegate(QtWidgets.QStyledItemDelegate):
  412. def __init__(self, parent: QtCore.QObject|None = ...) -> None: ...
  413. def setModelData(self, editor: QtWidgets.QWidget|None, model: QtCore.QAbstractItemModel|None, index: QtCore.QModelIndex) -> None: ...
  414. def setEditorData(self, editor: QtWidgets.QWidget|None, index: QtCore.QModelIndex) -> None: ...
  415. def createEditor(self, parent: QtWidgets.QWidget|None, option: QtWidgets.QStyleOptionViewItem, index: QtCore.QModelIndex) -> QtWidgets.QWidget|None: ...
  416. class QSqlRelation(PyQt6.sip.simplewrapper):
  417. @typing.overload
  418. def __init__(self) -> None: ...
  419. @typing.overload
  420. def __init__(self, aTableName: str|None, indexCol: str|None, displayCol: str|None) -> None: ...
  421. @typing.overload
  422. def __init__(self, a0: 'QSqlRelation') -> None: ...
  423. def swap(self, other: 'QSqlRelation') -> None: ...
  424. def isValid(self) -> bool: ...
  425. def displayColumn(self) -> str: ...
  426. def indexColumn(self) -> str: ...
  427. def tableName(self) -> str: ...
  428. class QSqlTableModel(QSqlQueryModel):
  429. class EditStrategy(enum.Enum):
  430. OnFieldChange = ... # type: QSqlTableModel.EditStrategy
  431. OnRowChange = ... # type: QSqlTableModel.EditStrategy
  432. OnManualSubmit = ... # type: QSqlTableModel.EditStrategy
  433. def __init__(self, parent: QtCore.QObject|None = ..., db: QSqlDatabase = ...) -> None: ...
  434. def clearItemData(self, index: QtCore.QModelIndex) -> bool: ...
  435. @typing.overload
  436. def record(self) -> QSqlRecord: ...
  437. @typing.overload
  438. def record(self, row: int) -> QSqlRecord: ...
  439. def selectRow(self, row: int) -> bool: ...
  440. def primaryValues(self, row: int) -> QSqlRecord: ...
  441. def indexInQuery(self, item: QtCore.QModelIndex) -> QtCore.QModelIndex: ...
  442. def setPrimaryKey(self, key: QSqlIndex) -> None: ...
  443. def selectStatement(self) -> str: ...
  444. def orderByClause(self) -> str: ...
  445. def deleteRowFromTable(self, row: int) -> bool: ...
  446. def insertRowIntoTable(self, values: QSqlRecord) -> bool: ...
  447. def updateRowInTable(self, row: int, values: QSqlRecord) -> bool: ...
  448. beforeDelete: typing.ClassVar[QtCore.pyqtSignal]
  449. beforeUpdate: typing.ClassVar[QtCore.pyqtSignal]
  450. beforeInsert: typing.ClassVar[QtCore.pyqtSignal]
  451. primeInsert: typing.ClassVar[QtCore.pyqtSignal]
  452. def revertAll(self) -> None: ...
  453. def submitAll(self) -> bool: ...
  454. def revert(self) -> None: ...
  455. def submit(self) -> bool: ...
  456. def revertRow(self, row: int) -> None: ...
  457. def setRecord(self, row: int, record: QSqlRecord) -> bool: ...
  458. def insertRecord(self, row: int, record: QSqlRecord) -> bool: ...
  459. def insertRows(self, row: int, count: int, parent: QtCore.QModelIndex = ...) -> bool: ...
  460. def removeRows(self, row: int, count: int, parent: QtCore.QModelIndex = ...) -> bool: ...
  461. def removeColumns(self, column: int, count: int, parent: QtCore.QModelIndex = ...) -> bool: ...
  462. def rowCount(self, parent: QtCore.QModelIndex = ...) -> int: ...
  463. def setFilter(self, filter: str|None) -> None: ...
  464. def filter(self) -> str: ...
  465. def setSort(self, column: int, order: QtCore.Qt.SortOrder) -> None: ...
  466. def sort(self, column: int, order: QtCore.Qt.SortOrder) -> None: ...
  467. def fieldIndex(self, fieldName: str|None) -> int: ...
  468. def database(self) -> QSqlDatabase: ...
  469. def primaryKey(self) -> QSqlIndex: ...
  470. def editStrategy(self) -> 'QSqlTableModel.EditStrategy': ...
  471. def setEditStrategy(self, strategy: 'QSqlTableModel.EditStrategy') -> None: ...
  472. def clear(self) -> None: ...
  473. @typing.overload
  474. def isDirty(self, index: QtCore.QModelIndex) -> bool: ...
  475. @typing.overload
  476. def isDirty(self) -> bool: ...
  477. def headerData(self, section: int, orientation: QtCore.Qt.Orientation, role: int = ...) -> typing.Any: ...
  478. def setData(self, index: QtCore.QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
  479. def data(self, idx: QtCore.QModelIndex, role: int = ...) -> typing.Any: ...
  480. def flags(self, index: QtCore.QModelIndex) -> QtCore.Qt.ItemFlag: ...
  481. def tableName(self) -> str: ...
  482. def setTable(self, tableName: str|None) -> None: ...
  483. def select(self) -> bool: ...
  484. class QSqlRelationalTableModel(QSqlTableModel):
  485. class JoinMode(enum.Enum):
  486. InnerJoin = ... # type: QSqlRelationalTableModel.JoinMode
  487. LeftJoin = ... # type: QSqlRelationalTableModel.JoinMode
  488. def __init__(self, parent: QtCore.QObject|None = ..., db: QSqlDatabase = ...) -> None: ...
  489. def setJoinMode(self, joinMode: 'QSqlRelationalTableModel.JoinMode') -> None: ...
  490. def insertRowIntoTable(self, values: QSqlRecord) -> bool: ...
  491. def orderByClause(self) -> str: ...
  492. def updateRowInTable(self, row: int, values: QSqlRecord) -> bool: ...
  493. def selectStatement(self) -> str: ...
  494. def removeColumns(self, column: int, count: int, parent: QtCore.QModelIndex = ...) -> bool: ...
  495. def revertRow(self, row: int) -> None: ...
  496. def relationModel(self, column: int) -> QSqlTableModel|None: ...
  497. def relation(self, column: int) -> QSqlRelation: ...
  498. def setRelation(self, column: int, relation: QSqlRelation) -> None: ...
  499. def setTable(self, tableName: str|None) -> None: ...
  500. def select(self) -> bool: ...
  501. def clear(self) -> None: ...
  502. def setData(self, item: QtCore.QModelIndex, value: typing.Any, role: int = ...) -> bool: ...
  503. def data(self, item: QtCore.QModelIndex, role: int = ...) -> typing.Any: ...
  504. class QSqlResult(PyQt6.sip.wrapper):
  505. class BindingSyntax(enum.Enum):
  506. PositionalBinding = ... # type: QSqlResult.BindingSyntax
  507. NamedBinding = ... # type: QSqlResult.BindingSyntax
  508. def __init__(self, db: QSqlDriver|None) -> None: ...
  509. def isPositionalBindingEnabled(self) -> bool: ...
  510. def setPositionalBindingEnabled(self, enable: bool) -> None: ...
  511. def boundValueNames(self) -> list[str]: ...
  512. def lastInsertId(self) -> typing.Any: ...
  513. def record(self) -> QSqlRecord: ...
  514. def numRowsAffected(self) -> int: ...
  515. def size(self) -> int: ...
  516. def fetchLast(self) -> bool: ...
  517. def fetchFirst(self) -> bool: ...
  518. def fetchPrevious(self) -> bool: ...
  519. def fetchNext(self) -> bool: ...
  520. def fetch(self, i: int) -> bool: ...
  521. def reset(self, sqlquery: str|None) -> bool: ...
  522. def isNull(self, i: int) -> bool: ...
  523. def data(self, i: int) -> typing.Any: ...
  524. def bindingSyntax(self) -> 'QSqlResult.BindingSyntax': ...
  525. def hasOutValues(self) -> bool: ...
  526. def clear(self) -> None: ...
  527. def boundValueName(self, pos: int) -> str: ...
  528. def executedQuery(self) -> str: ...
  529. def boundValues(self) -> list[typing.Any]: ...
  530. def boundValueCount(self) -> int: ...
  531. @typing.overload
  532. def bindValueType(self, placeholder: str|None) -> 'QSql.ParamTypeFlag': ...
  533. @typing.overload
  534. def bindValueType(self, pos: int) -> 'QSql.ParamTypeFlag': ...
  535. @typing.overload
  536. def boundValue(self, placeholder: str|None) -> typing.Any: ...
  537. @typing.overload
  538. def boundValue(self, pos: int) -> typing.Any: ...
  539. def addBindValue(self, val: typing.Any, type: 'QSql.ParamTypeFlag') -> None: ...
  540. @typing.overload
  541. def bindValue(self, pos: int, val: typing.Any, type: 'QSql.ParamTypeFlag') -> None: ...
  542. @typing.overload
  543. def bindValue(self, placeholder: str|None, val: typing.Any, type: 'QSql.ParamTypeFlag') -> None: ...
  544. def savePrepare(self, sqlquery: str|None) -> bool: ...
  545. def prepare(self, query: str|None) -> bool: ...
  546. def exec(self) -> bool: ...
  547. def setForwardOnly(self, forward: bool) -> None: ...
  548. def setSelect(self, s: bool) -> None: ...
  549. def setQuery(self, query: str|None) -> None: ...
  550. def setLastError(self, e: QSqlError) -> None: ...
  551. def setActive(self, a: bool) -> None: ...
  552. def setAt(self, at: int) -> None: ...
  553. def driver(self) -> QSqlDriver|None: ...
  554. def isForwardOnly(self) -> bool: ...
  555. def isSelect(self) -> bool: ...
  556. def isActive(self) -> bool: ...
  557. def isValid(self) -> bool: ...
  558. def lastError(self) -> QSqlError: ...
  559. def lastQuery(self) -> str: ...
  560. def at(self) -> int: ...
  561. def handle(self) -> typing.Any: ...
  562. class QSql(PyQt6.sip.simplewrapper):
  563. class NumericalPrecisionPolicy(enum.Enum):
  564. LowPrecisionInt32 = ... # type: QSql.NumericalPrecisionPolicy
  565. LowPrecisionInt64 = ... # type: QSql.NumericalPrecisionPolicy
  566. LowPrecisionDouble = ... # type: QSql.NumericalPrecisionPolicy
  567. HighPrecision = ... # type: QSql.NumericalPrecisionPolicy
  568. class TableType(enum.Enum):
  569. Tables = ... # type: QSql.TableType
  570. SystemTables = ... # type: QSql.TableType
  571. Views = ... # type: QSql.TableType
  572. AllTables = ... # type: QSql.TableType
  573. class ParamTypeFlag(enum.Flag):
  574. In = ... # type: QSql.ParamTypeFlag
  575. Out = ... # type: QSql.ParamTypeFlag
  576. InOut = ... # type: QSql.ParamTypeFlag
  577. Binary = ... # type: QSql.ParamTypeFlag
  578. class Location(enum.Enum):
  579. BeforeFirstRow = ... # type: QSql.Location
  580. AfterLastRow = ... # type: QSql.Location