Скачать 24.15 Kb.
|
Цель сего проекта создать ОО надстройку над SQL-базой. Т.е. Создать классы реализующие объекты метаданных. Реализацию методов пока отложу, потому как мозгов на все не хватает. По мере появления буду делать. :) Здесь буду делать краткое описание. На данный момент сделал следующее: Файл common.h Здесь будут различные служебные определения общего назначения class CursorRecord Класс записи курсора. Представляет одну строку таблицы курсора Пока не знаю как реализовать, потому что надо будет делать список разнотипных полей. Можно посмотреть как в QT это сделано, но это позже. ^ CursorRecord(); - Конструктор class Cursor Класс курсоров запростов. Для создания выборок и обходов по ним. Методы и члены класса: QString Query; - Текст SQL запроса Cursor(); - Конструктор virtual int Exec(); - выполнить запрос курсора, создать курсор virtual int Exec(QString SQLquery); - выполнить произвольный запрос, создать курсор virtual int First(); - в начало выборки virtual CursorRecord Next(); - следующая запись virtual int IsLast(); - проверка на последнюю запись: 1 – последняя, 0 - иначе virtual int IsFirst(); - проверка на первую запись: 1 - первая, 0 - иначе virtual CursorRecord GetCurrent(); - получить текущую запись ^ Здесь определяется общий для всех классов предок. class MetaObject Класс предок метаданных. Определю общие для всех метаданных свойства ^ QString Sinonim; - Строка синоним, представление QString Type_Name; - Название типа метаданного, для последующего использования в конфигураторе и прочего поиска по типу (Например «Справочник», «Документы») QString Vid_Name; - Название вида метаданного, для последующего использования в конфигураторе и прочего поиска по виду (Например «Номенклатура», «РКО») QString Table_Name; - Имя таблицы БД в которой этот объект лежит MetaObject(); - Конструктор virtual ~MetaObject(); - Деструктор virtual int NewObject(); - Создание нового объекта, например элемента справочника (^ объекта метаданных). virtual int DeleteObject(int ID); - Удаление объекта, например элемента справочника (НЕ объекта метаданных). QString GetVid(); Получение вида метаданного, аналог метода 1С Вид(). ^ Здесь определяю класс для Перечисления. class Enumeration Класс для реализации метаданного «Перечисление». Надо будет подумать какие поля нужны в таблице. Но пока структура ее мне видится довольно простой. Единственная таблица для всех перечислений. ^ Cursor _Cursor; - Текущий курсор, для возможности получения выборок. Enumeration(); - Конструктор int ValueCount(); - Возвращает количество значений конкретного перечисления QString ValueByNumber(int val); - ЗначениеПоНомеру() QString ValueByIdent(QString ident); - ЗначениеПоИдентификатору() QString GetSinonim(); - ПредставлениеВида() QString ValueNumber(); - ПорядковыйНомер() - порядковый номер значения QString ValueID(); - Идентификатор() - идентификатор значения перечисления virtual int Exec(); - выполнить запрос курсора, создать курсор virtual int Exec(QString SQLquery); - выполнить произвольный запрос, создать курсор virtual int First(); - в начало выборки virtual CursorRecord Next(); - следующая запись virtual int IsLast(); - проверка на последнюю запись: 1 – последняя, 0 - иначе virtual int IsFirst(); - проверка на первую запись: 1 - первая, 0 - иначе // virtual CursorRecord GetCurrent(); - получить текущую запись ^ Здесь определяю класс для Справочников. class Reference Класс для реализации метаданного «Справочник». Тут с таблицей БД пока сложно. Надо бы сразу сделать возможность делать в элементе несколько табличных частей. ^ Cursor _Cursor; - Текущий курсор, для возможности получения выборок. Reference(); - Конструктор QString GetSinonim(); - ПредставлениеВида() QString ValueNumber(); - ПорядковыйНомер() - порядковый номер значения QString ValueID(); - Идентификатор() - идентификатор значения перечисления virtual int Exec(); - выполнить запрос курсора, создать курсор virtual int Exec(QString SQLquery); - выполнить произвольный запрос, создать курсор virtual int First(); - в начало выборки virtual CursorRecord Next(); - следующая запись virtual int IsLast(); - проверка на последнюю запись: 1 – последняя, 0 - иначе virtual int IsFirst(); - проверка на первую запись: 1 - первая, 0 - иначе // virtual CursorRecord GetCurrent(); - получить текущую запись |
![]() | ... | ![]() | После оплаты услуги, другие игроки не смогут атаковать Ваши города и внешние владения.\n\ |
![]() | Последовательности административных действий (процедур) при предоставлении государственной услуги «выдача паспорта объекта культурного... | ![]() | Прошу выдать разрешение на ввод объекта в эксплуатацию здание оздоровительного центра (наименование объекта недвижимости) |
![]() | С помощью malloc() выделяет место для 10 элементов типа int и выводит эти элементы на экран, либо выдает об ошибке | ![]() | Заведующий секцией торгового объекта (магазина, павильона) относится к категории руководителей |
![]() | Административный регламент предоставления государственной услуги «выдача паспорта объекта культурного наследия собственнику объекта... | ![]() | Об утверждении административного регламента предоставления государственной услуги «выдача паспорта объекта культурного наследия собственнику... |
![]() | Слишком малое или слишком большое значение числа для int\n Числа должны быть в пределах от -2147483648 до 2147483647 | ![]() | Административный регламент предоставления государственной услуги «выдача разрешения на проведение работ по сохранению объекта культурного... |