Создание таблицы без обращения к источнику данных
DataSet (Набор данных) можно использовать как резидентную реляционную базу данных, не связанную ни с какой другой базой данных. Теперь на примере программы DataEditing, мы рассмотрим несколько возможностей объекта DataSet (Набор данных), связанных с добавлением данных и отношений непосредственно в набор данных, без обращения к какой бы то ни было внешней базе данных.
Прежде всего создадим новый объект DataSet (Набор данных) и включим проверку ограничений. Затем добавим в DataSet (Набор данных) четыре объекта DataTable (Таблица данных): Books (Книги), Categories (Категории), Authors (Авторы) и BookCategories (Категории книг).
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 = Type::GetType("System.String"); // Система.Строка Type *intType = Type::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);