Go to the documentation of this file.
4 #include <QSqlDatabase>
17 #define REUSE_CONNECTION 1 // NOLINT(cppcoreguidelines-macro-usage)
20 const QString& dbUserName,
22 QString dbName =
"mythconverg",
42 QSqlDatabase
db(
void)
const {
return m_db; }
62 void CloseDatabases(
void);
63 void PurgeIdleConnections(
bool leaveOne =
false);
157 bool seek(
int where,
bool relative =
false);
160 bool exec(
const QString &query);
163 bool prepare(
const QString &query);
166 void bindValue(
const QString &placeholder,
const QVariant &val);
181 void bindValueNoNull(
const QString &placeholder,
const QVariant &val);
194 QVariant lastInsertId();
202 bool lostConnectionCheck(
void);
205 QVariant
value(
int i)
const {
return QSqlQuery::value(i); }
208 #if QT_VERSION < QT_VERSION_CHECK(6,0,0)
209 QMap<QString, QVariant> boundValues(
void)
const
210 {
return QSqlQuery::boundValues(); }
212 QVariantList
boundValues(
void)
const {
return QSqlQuery::boundValues(); }
214 QSqlError
lastError(
void)
const {
return QSqlQuery::lastError(); }
215 int size(
void)
const {
return QSqlQuery::size();}
216 bool isActive(
void)
const {
return QSqlQuery::isActive(); }
217 QSqlRecord
record(
void)
const {
return QSqlQuery::record(); }
220 bool isNull(
int field)
const {
return QSqlQuery::isNull(field); }
221 const QSqlDriver *
driver(
void)
const {
return QSqlQuery::driver(); }
222 int at(
void)
const {
return QSqlQuery::at(); }
225 static bool testDBConnection();
233 static MSqlQueryInfo InitCon(ConnectionReuse _reuse = kNormalConnection);
245 void bindValue(
const QString&,
const QVariant&, QSql::ParamType);
246 void bindValue(
int,
const QVariant&, QSql::ParamType);
247 void addBindValue(
const QVariant&, QSql::ParamType = QSql::In);
249 bool seekDebug(
const char *
type,
bool result,
250 int where,
bool relative)
const;
253 bool m_isConnected {
false};
254 bool m_returnConnection {
false};
QMap< QString, QVariant > MSqlBindings
typedef for a map of string -> string bindings for generic queries.
bool isActive(void) const
QSqlQuery wrapper that fetches a DB connection from the connection pool.
bool isNull(int field) const
void InitSessionVars(void)
Structure containing the basic Database parameters.
QHash< QThread *, int > m_inuseCount
QSqlRecord record(void) const
DB connection pool, used by MSqlQuery. Do not use directly.
QVariant value(int i) const
QSqlDatabase db(void) const
MBASE_PUBLIC bool TestDatabase(const QString &dbHostName, const QString &dbUserName, QString dbPassword, QString dbName="mythconverg", int dbPort=3306)
MBASE_PUBLIC void MSqlEscapeAsAQuery(QString &query, const MSqlBindings &bindings)
Given a partial query string and a bindings object, escape the string.
QList< MSqlDatabase * > DBList
MSqlDatabase(QString name, QString driver="QMYSQL")
MSqlDatabase Info, used by MSqlQuery. Do not use directly.
QHash< QThread *, DBList > m_pool
QHash< QThread *, MSqlDatabase * > m_inuse
QHash< QThread *, DBList > m_staticPool
QVariantList boundValues(void) const
void setForwardOnly(bool f)
bool isConnected(void) const
Only updated once during object creation.
MBASE_PUBLIC void MSqlAddMoreBindings(MSqlBindings &output, MSqlBindings &addfrom)
Add the entries in addfrom to the map in output.
QString m_lastPreparedQuery
QSqlDatabase wrapper, used by MSqlQuery. Do not use directly.
QSqlError lastError(void) const
QString executedQuery(void) const
QString GetConnectionName(void) const
int numRowsAffected() const
void SetDBParams(const DatabaseParams ¶ms)
bool OpenDatabase(bool skipdb=false)
const QSqlDriver * driver(void) const