DataSet (Набор данных) можно использовать как резидентную реляционную базу данных, не связанную ни с какой другой базой данных. Теперь на примере программы DataEditing, мы рассмотрим несколько возможностей объекта DataSet (Набор данных), связанных с добавлением данных и отношений непосредственно в набор данных, без обращения к какой бы то ни было внешней базе данных.
Прежде всего создадим новый объект DataSet (Набор данных) и включим проверку ограничений. Затем добавим в DataSet (Набор данных) четыре объекта DataTable (Таблица данных): Books (Книги), Categories (Категории), Authors (Авторы) и BookCate-gories (Категории книг).
DataSet *ds = new DataSet; // новый Набор данных ds->EnforceConstraints = true; // истина
// Добавить (Add) таблицы (tables) к Набору данных (DataSet) DataTable *categories =
ds->Tables->Add("Categories");
// Таблицы-> Добавить ("Категории"); DataTable *bookcategories =
ds->Tables->Add("BookCategories");
// Таблицы-> Добавить ("BookCategories"); DataTable *authors = ds->Tables->Add("Authors");
// Таблицы-> Добавить ("Авторы"); DataTable *books = ds->Tables->Add("Books"); // Таблицы-> Добавить ("Книги");
Объект DataTable (Таблица данных) содержит коллекцию объектов DataColumn, каждый из которых представляет собой столбец таблицы. Теперь добавим столбцы в определения таблиц.
// определить типы для определений столбцов
Type *stringType = Туре::GetType("System.String");
// Система.Строка
Type *intType = Туре::GetType("System.Int32");
// Определить столбцы для таблиц
// Добавить столбец (column) в таблицу Category (Категория) DataColumn *categoryname =
categories->Columns->Add( // категории-> Столбцы-> Добавить "Category",stringType); // Категория
// Добавить (Add) столбцы (columns) для таблицы BookCategories DataColumn *cn = bookcategories->Columns->Add( // Столбцы-> Добавить
"CategoryName", stringType);
DataColumn *loc = bookcategories->Columns->Add( // Столбцы-> Добавить
"LibraryofCongressNumber", stringType);
// Добавить (Add) столбцы (columns) для таблицы Authors (Авторы) DataColumn *auid = authors->Columns->Add( // авторы-> Столбцы-> Добавить
"AuthorId", intType); authors->Columns->Add( // авторы-> Столбцы-> Добавить
"AuthorLastName", stringType); authors->Columns->Add( // авторы-> Столбцы-> Добавить
"AuthorFirstName", stringType);
// Добавить (Add) столбцы (columns) для таблицы Books (Книги) DataColumn *ISBN = books->Columns->Add( // книги-> Столбцы-> Добавить
"ISBN", stringType);
DataColumn *booksauid = books->Columns->Add( // книги-> Столбцы-> Добавить
"AuthorId", intType);
books->Columns->Add("Title", stringType); // книги-> Столбцы-> Добавить ("Название", stringType); DataColumn *bloc = books->Columns->Add( // книги-> Столбцы-> Добавить
"LibraryofCongressNumber", stringType);