Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Нужна идея: икапсуляция работ с таблицами БД.

64K
26 февраля 2011 года
LGFox
10 / / 26.02.2011
Есть БД на SQLite, пишем оболочку к ней на C++ (получиться "поисковик" для телефонной справочной службы).
Дабы не загружать ваши головы, спрошу по существу: Есть две пары по две таблицы. Я хочу создать один класс для работы и с первой парой и со второй. В этом классе будет функция добавления записи. Общий алгоритм добавления такой. Сначала в таблице (независимая сущность) проверяем существование desc (ну или query, если пара таблиц другая), затем достаем первичный ключ записи (которая либо существует, либо мы её добавили) и добавляем запись в другую таблицу (а первич. ключ используем как внешний в этой таблице). Этот алгоритм одинаков как для первой пары, так и для второй. Поэтому я хочу создать одну функцию, а названия полей и таблиц передавать в конструктор или в саму функцию добавления записи. Поле deleted в таблицах устанавливается по умолчанию (false, естественно). А вот поле place, таблицы sh_comp_query надо устанавливать.

Я проектирую интерфейс функции добавления записи.
int id_two_table::add_record(UnicodeString fields_rel, UnicodeString values_rel, UnicodeString fields, UnicodeString values);
Вопрос: Здесь прослеживается, что я добавляю две записи в две таблицы. Как спроектировать интерфейс так, чтобы казалось будто я одну запись добавляю. Можно, конечно четыре строки в две бухнуть, но не хочется синтаксический анализ строк fields и values потом делать.
64K
26 февраля 2011 года
LGFox
10 / / 26.02.2011
Извиняюсь, удалите тему: я сам не нашел как. Все так и оставил, разобрался потихоньку, пока пост писал... :-)
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог