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 (const char *name=0) | |
Дополнительные унаследованные члены | |
![]() | |
void | event (const QString &data) |
![]() | |
aDatabase * | db |
Предоставляет возможность использования SQL запросов в отчетах.
Пример использования. Код взят из модуля экранной формы отчета "Остатки товаров".
|
slot |
Функция фозвращает внутренний курсор, содержащий результаты выполнения последнего вызова функции ExecQuery или ExecScalar.
для использования в качестве источника данных для таблиц (QDataTable и т.д). Не удаляйте этот курсор после использования!
|
slot |
Функция для выполнения sql запроса.
Поддерживается только выражение select. Если случилась ошибка, возвращается false. Для перемещения по результатам используйте функции First(), Next(), Prev(), Last(). Для получения сведений об ошибке - функцией LastError().
query | (in) - Sql запрос для выполнения. |
|
slot |
Эта функция похожа на описанную выше ExecQuery(),.
но возвращает не true или false, а значение первой ячейки первой строки результата или QVariant::Invalid, если не вернулось ни одной записи или случилась ошибка. Но если вы знаете, что в результате больше чем одна запись, вы можете перемещаться по ним используя функции First(), Next() и т.д.
query | (in) - Sql запрос для выполнения. |
|
slot |
Делает первую запись результата активной.
Вы должны сначала вызвать ExecQuery, чтобы вызов этой функции имел смысл.
|
slot |
Делает последнюю запись результата активной.
|
slot |
Возвращает текстовое представление последней ошибки или пустую строку, если ошибок не было.
Возвращается текст драйвера базы данных.
|
slot |
Делает следующую запись результата активной.
|
slot |
Делает предыдущую запись результата активной.
|
slot |
Возвращает sql имя поля по его пользовательскому имени.
К каждому объекту Ананаса пользователь может добавлять свои собственные пользовательские поля. К несчастью, когда вы генерируете SQL запрос, вы должны использовать sql-ные имена полей вместо пользовательских. Данная функция помогает делать это очень просто. Все что вам нужно - создать новый объект, который будет использоваться для получения имени, определить пользовательское имя поля и таблицу (основную или одну из запасных :). См SqlTableName() для детального описания имен и структуры таблиц. Кроме того, каждая таблица содержит системные поля для связи между объектами. Эти поля также могут быть использованы в запросе. См. документацию по каждому объекту Ананаса для детального описания.
obj | (in) - Объект Ананасаю Используется в качестве контекста поиска. |
userFieldName | (in) - Пользовательское имя поля |
tableType | (optional) - Тип таблицы. Для каталога таблица групп имеет синоним "group", для накопительного регистра каждая из таблиц остатков по измерению имеет сининим, совпадающий с пользовательским именем этого измерения. |
Перекрестные ссылки aObject::table().
|
slot |
Возвращает SQL имя основной или вспомогательной таблицы объекта.
Все объекты Ананаса, за исключением Отчетов, хранят данные в sql таблицах. Для Каталога это таблица групп и таблица элементов (осн.), для документа - таблица шапки, для журнала - всегда системная таблица системного журнала, для ИРегистра - одна таблица для хранения всех данных, для АРегистра - одна основная таблица для хранения записей об операциях (осн.) и X вспомогательных для хранения остатков по разрезам, где X - количество измерений накопительного регистра. Так что если вы хотите получить имя основной таблицы объекта, не используйте параметр или установите его значение в "". Если вы хотите получить имя вспомогательной таблицы, установите параметру значение "group" для группы каталога или значение пользовательского имени измерения накопительного регистра для таблицы остатков по данному измерению.
obj | (in) - Объект для получения имени таблицы |
tableType | (optional) - Тип таблицы |
Перекрестные ссылки aObject::table().
|
slot |
Функция получения значения столбца текущей записи или QVariant::Invalid если случилачь ошибка или значение меньше 0 или больше, чем количество столбцов в результате.
col | (in) - |