17#define REUSE_CONNECTION 1
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};
Structure containing the basic Database parameters.
DB connection pool, used by MSqlQuery. Do not use directly.
QHash< QThread *, int > m_inuseCount
QList< MSqlDatabase * > DBList
QHash< QThread *, DBList > m_staticPool
QHash< QThread *, DBList > m_pool
QHash< QThread *, MSqlDatabase * > m_inuse
QSqlDatabase wrapper, used by MSqlQuery. Do not use directly.
void SetDBParams(const DatabaseParams ¶ms)
bool OpenDatabase(bool skipdb=false)
QString GetConnectionName(void) const
void InitSessionVars(void)
QSqlDatabase db(void) const
MSqlDatabase(QString name, QString driver="QMYSQL")
QSqlQuery wrapper that fetches a DB connection from the connection pool.
QString executedQuery(void) const
QSqlRecord record(void) const
QSqlError lastError(void) const
QString m_lastPreparedQuery
bool isNull(int field) const
QVariant value(int i) const
int numRowsAffected() const
void setForwardOnly(bool f)
bool isActive(void) const
MBASE_PUBLIC friend void MSqlEscapeAsAQuery(QString &query, MSqlBindings &bindings)
bool isConnected(void) const
Only updated once during object creation.
QVariantList boundValues(void) const
const QSqlDriver * driver(void) const
QMap< QString, QVariant > MSqlBindings
typedef for a map of string -> string bindings for generic queries.
MBASE_PUBLIC bool TestDatabase(const QString &dbHostName, const QString &dbUserName, QString dbPassword, QString dbName="mythconverg", int dbPort=3306)
MBASE_PUBLIC void MSqlAddMoreBindings(MSqlBindings &output, MSqlBindings &addfrom)
Add the entries in addfrom to the map in output.
MBASE_PUBLIC void MSqlEscapeAsAQuery(QString &query, const MSqlBindings &bindings)
Given a partial query string and a bindings object, escape the string.
MSqlDatabase Info, used by MSqlQuery. Do not use directly.