8#include <QtSql/qtsqlglobal.h>
9#include <QtCore/qmetaobject.h>
10#include <QtCore/qstring.h>
27 virtual ~QSqlDriverCreatorBase();
28 virtual QSqlDriver *createObject()
const = 0;
44 using namespace Qt::StringLiterals;
45 return u"qt_sql_default_connection"_s;
49class Q_SQL_EXPORT
QSqlDatabase :
public QSqlDatabaseDefaultConnectionName
52 Q_PROPERTY(QSql::NumericalPrecisionPolicy numericalPrecisionPolicy READ numericalPrecisionPolicy WRITE setNumericalPrecisionPolicy)
57 QSqlDatabase(
const QSqlDatabase &other);
60 QSqlDatabase &operator=(
const QSqlDatabase &other);
63 bool open(
const QString& user,
const QString& password);
66 bool isOpenError()
const;
67 QStringList tables(QSql::TableType type = QSql::Tables)
const;
68 QSqlIndex primaryIndex(
const QString& tablename)
const;
69 QSqlRecord record(
const QString& tablename)
const;
70#if QT_DEPRECATED_SINCE(6
, 6
)
71 QT_DEPRECATED_VERSION_X_6_6(
"Use QSqlQuery::exec() instead.")
72 QSqlQuery exec(
const QString& query = QString())
const;
74 QSqlError lastError()
const;
81 void setDatabaseName(
const QString& name);
82 void setUserName(
const QString& name);
83 void setPassword(
const QString& password);
84 void setHostName(
const QString& host);
86 void setConnectOptions(
const QString& options = QString());
87 QString databaseName()
const;
88 QString userName()
const;
89 QString password()
const;
90 QString hostName()
const;
91 QString driverName()
const;
93 QString connectOptions()
const;
94 QString connectionName()
const;
95 void setNumericalPrecisionPolicy(QSql::NumericalPrecisionPolicy precisionPolicy);
96 QSql::NumericalPrecisionPolicy numericalPrecisionPolicy()
const;
97 bool moveToThread(QThread *targetThread);
98 QThread *thread()
const;
100 QSqlDriver* driver()
const;
102#if QT_SQL_REMOVED_SINCE(6
, 10
)
103 static const char *defaultConnection;
106 static QSqlDatabase addDatabase(
const QString& type,
107 const QString &connectionName = defaultConnectionName());
108 static QSqlDatabase addDatabase(QSqlDriver* driver,
109 const QString &connectionName = defaultConnectionName());
110 static QSqlDatabase cloneDatabase(
const QSqlDatabase &other,
const QString &connectionName);
111 static QSqlDatabase cloneDatabase(
const QString &other,
const QString &connectionName);
112 static QSqlDatabase database(
const QString &connectionName = defaultConnectionName(),
114 static void removeDatabase(
const QString &connectionName);
115 static bool contains(
const QString &connectionName = defaultConnectionName());
116 static QStringList drivers();
117 static QStringList connectionNames();
118 static void registerSqlDriver(
const QString &name, QSqlDriverCreatorBase *creator);
119 static bool isDriverAvailable(
const QString &name);
122 explicit QSqlDatabase(
const QString& type);
123 explicit QSqlDatabase(QSqlDriver* driver);
126 friend class QSqlDatabasePrivate;
127 QSqlDatabasePrivate *d;
130#ifndef QT_NO_DEBUG_STREAM
131Q_SQL_EXPORT
QDebug operator<<(QDebug,
const QSqlDatabase &);
static QSqlDatabasePrivate * shared_null()
void init(const QString &type)
QSqlDatabasePrivate(QSqlDriver *dr)
static QSqlDatabase database(const QString &name, bool open)
QSqlDatabasePrivate(const QSqlDatabasePrivate &other)
static void removeDatabase(const QString &name)
static void invalidateDb(const QSqlDatabase &db, const QString &name, bool doWarn=true)
QSql::NumericalPrecisionPolicy precisionPolicy
static void addDatabase(const QSqlDatabase &db, const QString &name)
void copy(const QSqlDatabasePrivate *other)
The QSqlDatabase class handles a connection to a database.
The QSqlDriverCreatorBase class is the base class for SQL driver factories.
The QSqlDriverCreator class is a template class that provides a SQL driver factory for a specific dri...
QSqlDriver * createObject() const override
\reimp
The QSqlDriverPlugin class provides an abstract base for custom QSqlDriver plugins.
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
#define qCWarning(category,...)
#define Q_STATIC_LOGGING_CATEGORY(name,...)
Q_GLOBAL_STATIC_WITH_ARGS(PermissionStatusHash, g_permissionStatusHash,({ { qMetaTypeId< QCameraPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QMicrophonePermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QBluetoothPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QContactsPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QCalendarPermission >(), Qt::PermissionStatus::Undetermined }, { qMetaTypeId< QLocationPermission >(), Qt::PermissionStatus::Undetermined } }))
#define CHECK_QCOREAPPLICATION
#define CHECK_QCOREAPPLICATION_RETVAL
#define QSqlDriverFactoryInterface_iid
static QString defaultConnectionName() noexcept
static constexpr const char defaultConnection[]