Ananas Library 0.9.5
|
Предоставляет возможность использования SQL запросов в отчетах. Подробнее...
#include <aextsql.h>
Открытые слоты | |
QSqlSelectCursor * | Cursor () const |
Функция фозвращает внутренний курсор, содержащий результаты выполнения последнего вызова функции ExecQuery или ExecScalar. | |
QVariant | Value (int col) const |
int | Size () const |
Функция получения количества записей в результате. . | |
int | Count () const |
Функция получения количества столбцов в результате. . | |
bool | ExecQuery (const QString &query) |
Функция для выполнения sql запроса. | |
QVariant | ExecScalar (const QString &query) |
Эта функция похожа на описанную выше ExecQuery(),. | |
bool | First () |
Делает первую запись результата активной. | |
bool | Next () |
Делает следующую запись результата активной. | |
bool | Last () |
Делает последнюю запись результата активной. | |
bool | Prev () |
Делает предыдущую запись результата активной. | |
QString | SqlFieldName (aObject *obj, const QString &userFieldName, const QString &tableType="") const |
Возвращает sql имя поля по его пользовательскому имени. | |
QString | SqlTableName (aObject *obj, const QString &tableType="") const |
Возвращает SQL имя основной или вспомогательной таблицы объекта. | |
QString | SqlTableName (const QString &objName) const |
Еще не реализовано. . | |
QString | SqlFieldName (const QString &fieldName) const |
Еще не реализовано. . | |
QString | LastError () const |
Возвращает текстовое представление последней ошибки или пустую строку, если ошибок не было. |
Открытые члены | |
aExtSQL () | |
Конструктор класса . | |
virtual int | init (aDatabase *database) |
Функция иницализации, переопределяет функцию базового класса, создает внутренние объекты и переменные. . | |
~aExtSQL () | |
Деструктор класса . | |
Открытые члены унаследованные от AExtension | |
AExtension (const char *name=0) |
Дополнительные унаследованные члены | |
Сигналы унаследованные от AExtension | |
void | event (const QString &data) |
Открытые атрибуты унаследованные от AExtension | |
aDatabase * | db |
Предоставляет возможность использования SQL запросов в отчетах.
Пример использования. Код взят из модуля экранной формы отчета "Остатки товаров".
aExtSQL::aExtSQL | ( | ) |
Конструктор класса .
aExtSQL::~aExtSQL | ( | ) |
Деструктор класса .
|
slot |
Функция получения количества столбцов в результате. .
|
slot |
Функция фозвращает внутренний курсор, содержащий результаты выполнения последнего вызова функции ExecQuery или ExecScalar.
для использования в качестве источника данных для таблиц (QDataTable и т.д). Не удаляйте этот курсор после использования! \return Внутренний курсор.
|
slot |
Функция для выполнения sql запроса.
Поддерживается только выражение select. Если случилась ошибка, возвращается false. Для перемещения по результатам используйте функции First(), Next(), Prev(), Last(). Для получения сведений об ошибке - функцией LastError(). \param query (in) - Sql запрос для выполнения.
|
slot |
Эта функция похожа на описанную выше ExecQuery(),.
но возвращает не true или false, а значение первой ячейки первой строки результата или QVariant::Invalid, если не вернулось ни одной записи или случилась ошибка. Но если вы знаете, что в результате больше чем одна запись, вы можете перемещаться по ним используя функции First(), Next() и т.д. \param query (in) - Sql запрос для выполнения. \return Результат запроса или QVariant::Invalid
|
slot |
Делает первую запись результата активной.
Вы должны сначала вызвать ExecQuery, чтобы вызов этой функции имел смысл. \return true в случае успеха
|
virtual |
Функция иницализации, переопределяет функцию базового класса, создает внутренние объекты и переменные. .
Переопределяет метод предка AExtension.
Перекрестные ссылки aDatabase::db().
|
slot |
Делает последнюю запись результата активной.
\return true в случае успеха
|
slot |
Возвращает текстовое представление последней ошибки или пустую строку, если ошибок не было.
Возвращается текст драйвера базы данных.
|
slot |
Делает следующую запись результата активной.
\return true в случае успеха
|
slot |
Делает предыдущую запись результата активной.
\return true в случае успеха
|
slot |
Функция получения количества записей в результате. .
|
slot |
Возвращает sql имя поля по его пользовательскому имени.
К каждому объекту Ананаса пользователь может добавлять свои собственные пользовательские поля. К несчастью, когда вы генерируете SQL запрос, вы должны использовать sql-ные имена полей вместо пользовательских. Данная функция помогает делать это очень просто. Все что вам нужно - создать новый объект, который будет использоваться для получения имени, определить пользовательское имя поля и таблицу (основную или одну из запасных :). См SqlTableName() для детального описания имен и структуры таблиц. Кроме того, каждая таблица содержит системные поля для связи между объектами. Эти поля также могут быть использованы в запросе. См. документацию по каждому объекту Ананаса для детального описания.
obj | (in) - Объект Ананасаю Используется в качестве контекста поиска. |
userFieldName | (in) - Пользовательское имя поля |
tableType | (optional) - Тип таблицы. Для каталога таблица групп имеет синоним "group", для накопительного регистра каждая из таблиц остатков по измерению имеет сининим, совпадающий с пользовательским именем этого измерения. |
Перекрестные ссылки aObject::table().
|
slot |
Еще не реализовано. .
Перекрестные ссылки aCfg::find(), aCfg::id() и aCfg::objClass().
|
slot |
Возвращает SQL имя основной или вспомогательной таблицы объекта.
\if english \brief Gets SQL name of primary or one of secondary object tables. All Ananas objects except Report store theyr values in sql tables. For Catalogue this is group table and element table (pri), for Document - data header table, for Journal - always system journal table, for IRegister - one table for all data, for ARegister - main table for store operations (pri) and X table for store saldo, where X - dimensions count. So if you want get name of primary table, leave parameter \atableType or set in to empty string. If you want get name of secondary table, set parameter \atableType to "group" for catalogue group table or dimension user name for accumulation register saldo table for that dimension. \param obj (in) - Object for getting table name. \param tableType (optional) - Table type \return sql table name
Все объекты Ананаса, за исключением Отчетов, хранят данные в sql таблицах. Для Каталога это таблица групп и таблица элементов (осн.), для документа - таблица шапки, для журнала - всегда системная таблица системного журнала, для ИРегистра - одна таблица для хранения всех данных, для АРегистра - одна основная таблица для хранения записей об операциях (осн.) и X вспомогательных для хранения остатков по разрезам, где X - количество измерений накопительного регистра. Так что если вы хотите получить имя основной таблицы объекта, не используйте параметр \atableType или установите его значение в "". Если вы хотите получить имя вспомогательной таблицы, установите параметру \atableType значение "group" для группы каталога или значение пользовательского имени измерения накопительного регистра для таблицы остатков по данному измерению.
obj | (in) - Объект для получения имени таблицы |
tableType | (optional) - Тип таблицы |
Перекрестные ссылки aObject::table().
|
slot |
Еще не реализовано. .
Перекрестные ссылки aCfg::find(), aCfg::objClass() и aDatabase::tableDbName().
|
slot |
Функция получения значения столбца \acol текущей записи или QVariant::Invalid если случилачь ошибка или значение \acol меньше 0 или больше, чем количество столбцов в результате.
col | (in) - |