Class mgr db::Many2Many

Материал из ISPWiki
Перейти к: навигация, поиск

Работа с базами данных

Класс mgr_db::Many2Many

Представление таблицы БД, реализующей хранение связей "многие-ко-многим".

#include <mgrdb_struct.h> 

Описание:

class mgr_db::Many2Many

Решает задачи создания таблиц для хранения связей "многие-ко-многим" Таблица имеет два поля, представляющих внешние ключи, имена этих полей соответствуют именам связываемых таблиц Оба этих поля входят в составной первичный ключ таблицы.

Родители:


Открытые аттрибуты (кратко)

ReferenceField Link1

Поле-внешний ключ для связи с первой таблицей


ReferenceField Link2

Поле-внешний ключ для связи со второй таблицей

Открытые члены (кратко)

Many2Many ( const string &name , const string &table1 , const string &table2 , const string &link1_fldname = "" , const string &link2_fldname = "" )

Конструктор, принимет имя создаваемой таблицы, а также имена таблиц, которые нужно связать


void Set ( const string &id1_value , const string &id2_value )

Устанавливает данные полей-внешних ключей в передаваемые значения


bool Find ( const string &id1_value , const string &id2_value )

Поиск в базе данных по значениям ключевых полей


void Assert ( const string &id1_value , const string &id2_value )

Устанавливает значение полей таблицы в значения данных строки, найденной по переданным значениям


void Insert ( const string &id1_value , const string &id2_value )

Создает новую запись в кэше, устанавливает значения полей-внешних ключей в переданные и записывает данные в БД

Конструкторы

Many2Many ( const string &name , const string &table1 , const string &table2 , const string &link1_fldname = "" , const string &link2_fldname = "" )

Конструктор, принимет имя создаваемой таблицы, а также имена таблиц, которые нужно связать

Также имеется возможность указать имена полей для связи с указанными таблицами

Методы

void Set ( const string &id1_value , const string &id2_value )

Устанавливает данные полей-внешних ключей в передаваемые значения

bool Find ( const string &id1_value , const string &id2_value )

Поиск в базе данных по значениям ключевых полей

Принимает значения полей-внешних ключей Возвращает true, если была найдена хотя бы одна строка в таблице базы данных, соответствующая переданным значениям, false в противном случае Устанавливает значение полей таблицы в значения данных строки таблицы БД, если строка найдена

void Assert ( const string &id1_value , const string &id2_value )

Устанавливает значение полей таблицы в значения данных строки, найденной по переданным значениям

Принимает значения полей-внешних ключей Устанавливает значение полей таблицы в значения данных строки таблицы БД, если строка найдена, в противном случае генерирует исключение

void Insert ( const string &id1_value , const string &id2_value )

Создает новую запись в кэше, устанавливает значения полей-внешних ключей в переданные и записывает данные в БД

Данные

ReferenceField Link1

Поле-внешний ключ для связи с первой таблицей

ReferenceField Link2

Поле-внешний ключ для связи со второй таблицей