TSqlSelectorV2 Class

TSqlSelectorV2; More...

Header: #include <TSqlSelectorV2>

Public Functions

TSqlSelectorV2()
TSqlSelectorV2(const QString &iTableStr)
TSqlSelectorV2(const QVariantMap &iDataMap)
TSqlSelectorV2(const TSqlSelectorV2 &iOther)
~TSqlSelectorV2()
TSqlSelectorV2 &addField(const QString &iFieldStr)
TSqlSelectorV2 &addGroup(const QString &iGrpStr)
TSqlSelectorV2 &addOrder(const QString &iField, Qt::SortOrder iOrder)
TSqlSelectorV2 &addWhere(const TSqlWhereAbsV2 &iWhere)
TSqlSelectorV2 &addWhere(const QString &iField, const QVariant &iValue, const QString &iOperator = "=")
TSqlSelectorV2 &addWhere(const QString &iWhereStr)
TSqlSelectorV2 &clear()
QString connectionName() const
QString databaseType() const
QStringList field() const
int fieldCaseType() const
QVariant fieldFormat(const QString &iField) const
QVariantMap fieldFormat() const
QStringList &fieldRef()
QStringList group() const
QStringList &groupRef()
bool isReturnRowCount() const
int limit() const
int offset() const
QStringList order() const
QStringList &orderRef()
TSqlSelectorV2 &removeField(const QString &iFieldStr)
TSqlSelectorV2 &removeGroup(const QString &iGrpStr)
TSqlSelectorV2 &setConnectionName(const QString &iCntNameStr)
TSqlSelectorV2 &setDatabaseType(const QString &iDbType)
TSqlSelectorV2 &setField(const QStringList &iFieldLst)
TSqlSelectorV2 &setField(const QString &iFieldStr)
TSqlSelectorV2 &setFieldCaseType(int iCaseTypeInt = -1)
TSqlSelectorV2 &setFieldFormat(const QString &iField, const QVariant &iFormat)
TSqlSelectorV2 &setFieldFormat(const QVariantMap &iFieldFormatMap)
TSqlSelectorV2 &setGroup(const QStringList &iGrpLst)
TSqlSelectorV2 &setGroup(const QString &iGrpStr)
TSqlSelectorV2 &setLimit(int iLimit)
TSqlSelectorV2 &setOffset(int iOffset)
TSqlSelectorV2 &setOrder(const QStringList &iOrderLst)
TSqlSelectorV2 &setOrder(const QString &iField, Qt::SortOrder iOrder)
TSqlSelectorV2 &setPage(int iPageNumInt, int iPageSizeInt)
TSqlSelectorV2 &setReturnRowCount(bool iBol)
TSqlSelectorV2 &setTable(const QString &iTableStr)
TSqlSelectorV2 &setUniqueField(const QString &iFieldStr)
TSqlSelectorV2 &setUserData(const QVariant &iDataVar)
TSqlSelectorV2 &setValueField(const QString &iFieldStr)
TSqlSelectorV2 &setWhere(const TSqlWhereCompsiteV2 &iWhere)
TSqlSelectorV2 &setWhere(const QString &iField, const QVariant &iValue, const QString &iOperator = "=")
TSqlSelectorV2 &setWhere(const QString &iWhereStr)
QString table() const
QString toSelectCountSql() const
QString toSql() const
const QString uniqueField() const
QVariant userData() const
const QString valueField() const
TSqlWhereCompsiteV2 where() const
TSqlWhereCompsiteV2 &whereRef()
TSqlSelectorV2 &operator=(const TSqlSelectorV2 &iOther)

Static Public Members

Qt::SortOrder sortOrderFromString(const QString &iStr)
QString sortOrderToString(Qt::SortOrder iOrder)

Detailed Description

TSqlSelectorV2;

Member Function Documentation

TSqlSelectorV2::TSqlSelectorV2()

Default constructs an instance of TSqlSelectorV2.

TSqlSelectorV2::TSqlSelectorV2(const QString &iTableStr)

构造函数,根据表名创建对象

TSqlSelectorV2::TSqlSelectorV2(const QVariantMap &iDataMap)

构造函数,iDataMap 的格式为:


  QVariantMap {
    {"connection_name", name},
    {"table", table},
    {"field", field}, // or field list
    {"data", QVariantMap{...}}
    ...
  }

TSqlSelectorV2::TSqlSelectorV2(const TSqlSelectorV2 &iOther)

复制构造函数

TSqlSelectorV2::~TSqlSelectorV2()

Destroys the instance of TSqlSelectorV2.

TSqlSelectorV2 &TSqlSelectorV2::addField(const QString &iFieldStr)

追加字段

See also TSqlSelectorV2::setField(const QString &iFieldStr).

TSqlSelectorV2 &TSqlSelectorV2::addGroup(const QString &iGrpStr)

TSqlSelectorV2 &TSqlSelectorV2::addOrder(const QString &iField, Qt::SortOrder iOrder)

See also TSqlSelectorV2::setOrder(const QStringList &iOrderLst).

TSqlSelectorV2 &TSqlSelectorV2::addWhere(const TSqlWhereAbsV2 &iWhere)

追加where条件

TSqlSelectorV2 &TSqlSelectorV2::addWhere(const QString &iField, const QVariant &iValue, const QString &iOperator = "=")

追加where条件

See also TSqlSelectorV2::setWhere(const QString &iWhereStr).

TSqlSelectorV2 &TSqlSelectorV2::addWhere(const QString &iWhereStr)

See also addWhere(const QString &, const QVariant &, const QString &).

TSqlSelectorV2 &TSqlSelectorV2::clear()

QString TSqlSelectorV2::connectionName() const

返回连接名

See also setConnectionName().

QString TSqlSelectorV2::databaseType() const

返回数据库类型

See also setDatabaseType().

QStringList TSqlSelectorV2::field() const

返回字段列表副本

See also setField().

int TSqlSelectorV2::fieldCaseType() const

See also setFieldCaseType().

QVariant TSqlSelectorV2::fieldFormat(const QString &iField) const

获取给定字段的格式

See also setFieldFormat().

QVariantMap TSqlSelectorV2::fieldFormat() const

返回格式副本

QStringList &TSqlSelectorV2::fieldRef()

返回字段列表引用

QStringList TSqlSelectorV2::group() const

See also setGroup().

QStringList &TSqlSelectorV2::groupRef()

bool TSqlSelectorV2::isReturnRowCount() const

int TSqlSelectorV2::limit() const

See also setLimit().

int TSqlSelectorV2::offset() const

返回偏移

See also setOffset().

QStringList TSqlSelectorV2::order() const

返回order列表副本

See also setOrder().

QStringList &TSqlSelectorV2::orderRef()

返回order列表引用

TSqlSelectorV2 &TSqlSelectorV2::removeField(const QString &iFieldStr)

从字段列表中删除给定字段

TSqlSelectorV2 &TSqlSelectorV2::removeGroup(const QString &iGrpStr)

TSqlSelectorV2 &TSqlSelectorV2::setConnectionName(const QString &iCntNameStr)

设置连接名

See also connectionName().

TSqlSelectorV2 &TSqlSelectorV2::setDatabaseType(const QString &iDbType)

设置数据库类型

See also databaseType() and TSqlWhereSimpleV2::setDatabaseType(const QString &iDatabaseType).

TSqlSelectorV2 &TSqlSelectorV2::setField(const QStringList &iFieldLst)

设置字段名列表

See also field().

TSqlSelectorV2 &TSqlSelectorV2::setField(const QString &iFieldStr)

清空当前字段列表,并追加字段名

TSqlSelectorV2 &TSqlSelectorV2::setFieldCaseType(int iCaseTypeInt = -1)

See also fieldCaseType().

TSqlSelectorV2 &TSqlSelectorV2::setFieldFormat(const QString &iField, const QVariant &iFormat)

设置字段格式

Note: 对于PostgreSQl通常需要对Array、Json和Jsonb设置格式,如:


  setFieldFormat("details", "json"); // 表名"detail"字段在数据库中是一个json或者jsonb

See also fieldFormat().

TSqlSelectorV2 &TSqlSelectorV2::setFieldFormat(const QVariantMap &iFieldFormatMap)

See also TSqlSelectorV2::setFieldFormat(const QString &iField, const QVariant &iFormat).

TSqlSelectorV2 &TSqlSelectorV2::setGroup(const QStringList &iGrpLst)

group语句,接口同where语句

See also setGroup(), group(), groupRef(), addGroup(), and removeGroup().

TSqlSelectorV2 &TSqlSelectorV2::setGroup(const QString &iGrpStr)

TSqlSelectorV2 &TSqlSelectorV2::setLimit(int iLimit)

设置limit

See also limit().

TSqlSelectorV2 &TSqlSelectorV2::setOffset(int iOffset)

设置偏移,返回自身引用

See also offset().

TSqlSelectorV2 &TSqlSelectorV2::setOrder(const QStringList &iOrderLst)

设置排序列表,列表格式为filed + order,如:


  QStringList list {
    "id asc",
    "name desc"
  }

See also order().

TSqlSelectorV2 &TSqlSelectorV2::setOrder(const QString &iField, Qt::SortOrder iOrder)

See also TSqlSelectorV2::setOrder(const QStringList &iOrderLst).

TSqlSelectorV2 &TSqlSelectorV2::setPage(int iPageNumInt, int iPageSizeInt)

设置分页iPageSizeInt 为每页大小iPageNumInt 为第几页

TSqlSelectorV2 &TSqlSelectorV2::setReturnRowCount(bool iBol)

See also isReturnRowCount().

TSqlSelectorV2 &TSqlSelectorV2::setTable(const QString &iTableStr)

设置表名

See also table().

TSqlSelectorV2 &TSqlSelectorV2::setUniqueField(const QString &iFieldStr)

设置唯一字段

See also uniqueField().

TSqlSelectorV2 &TSqlSelectorV2::setUserData(const QVariant &iDataVar)

设置用户自定义数据

See also userData().

TSqlSelectorV2 &TSqlSelectorV2::setValueField(const QString &iFieldStr)

设置value字段,可能在TSqlQueryV2::selectMapValue() 及其重载中使用

See also valueField() and TSqlQueryV2::selectMapValue(const TSqlSelectorV2 &iSqlSelector).

TSqlSelectorV2 &TSqlSelectorV2::setWhere(const TSqlWhereCompsiteV2 &iWhere)

设置where条件

See also where().

TSqlSelectorV2 &TSqlSelectorV2::setWhere(const QString &iField, const QVariant &iValue, const QString &iOperator = "=")

清空当前where条件,根据参数构造TSqlWhereSimpleV2,并追加到where条件

TSqlSelectorV2 &TSqlSelectorV2::setWhere(const QString &iWhereStr)

清空当前where条件,并追加iWhereStr

See also TSqlSelectorV2::setWhere(const QString &iField, const QVariant &iValue, const QString &iOperator).

[static] Qt::SortOrder TSqlSelectorV2::sortOrderFromString(const QString &iStr)

See also TSqlSelectorV2::sortOrderToString(Qt::SortOrder iOrder).

[static] QString TSqlSelectorV2::sortOrderToString(Qt::SortOrder iOrder)

将枚举转为字符串

QString TSqlSelectorV2::table() const

返回表名

See also setTable().

QString TSqlSelectorV2::toSelectCountSql() const

根据设置的各种属性返回拼接后的SQL语句,查询数量专用,如


  select COUNT(*) from table where age = 233;

QString TSqlSelectorV2::toSql() const

返回拼接后的SQL语句

const QString TSqlSelectorV2::uniqueField() const

返回唯一字段

See also setUniqueField().

QVariant TSqlSelectorV2::userData() const

返回用户自定义数据

See also setUserData().

const QString TSqlSelectorV2::valueField() const

返回value字段

See also setValueField().

TSqlWhereCompsiteV2 TSqlSelectorV2::where() const

返回where条件

See also setWhere().

TSqlWhereCompsiteV2 &TSqlSelectorV2::whereRef()

返回where条件引用

TSqlSelectorV2 &TSqlSelectorV2::operator=(const TSqlSelectorV2 &iOther)

赋值函数