Читаем Обработка баз данных на Visual Basic®.NET полностью

Далее этот процесс повторяется для таблицы Departments, но теперь уже с перегруженными конструкторами и функциями. Таким образом та же цель достигается другим способом. Разработчик может самостоятельно выбрать наиболее подходящий способ на основе собственного вкуса, корпоративных стандартов или особенностей поставленной задачи.

Для свойства MinimumCapacity объекта dtDepartments задается значение 5, т.е. экземпляр объекта DataTable создается уже с пятью записями. Указание для него другого значения (отличного от используемого по умолчанию значения 25) позволяет управлять выделением ресурсов и оптимизировать производительность в критических ситуациях. Конечно, на самом деле эти пять записей фактически появятся только после того, как пользователь добавит их в таблицу DataTable, а пока для них резервируется место.

Кроме того, перед добавлением полей в коллекцию Columns для них задаются значения других свойств. Перечисленные ниже свойства Readonly, Unique, AllowDBNull и AutoIncrement уже наверняка знакомы тем, кто имеет опыт создания приложений для работы с базами данных.

Присвоение свойству Readonly значения True указывает на то, что значение поля нельзя изменить.

Присвоение свойству Unique значения True указывает на то, что значения данного поля во всех записях таблицы должны быть уникальными. Это свойство реализуется с помощью автоматического создания ограничения UniqueConstraint для данного поля. Этот способ более подробно рассматривается в разделе об ограничениях таблицы далее в главе.

Присвоение свойству AllowDBNull значения True указывает на то, что в данном поле допускается использование неопределенных значений.

Присвоение свойству AutoIncrement значения True указывает на то, что значение поля увеличивается при каждом добавлении в таблицу новой записи. Для указания начального значения и приращения используются свойства AutoIncrementSeed и AutoIncrementStep.

НА ЗАМЕТКУ

Объект DataTable принимает новую запись и присваивает автоматически увеличенное значение для поля, свойство которого AutoIncrement имеет значение True, только если значение поля отличается от принимаемого по умолчанию.

Среди других свойств объекта DataColumn следует отметить MaxLength (для полей с данными типа String), DefaultValue и Table. Поле также можно определить с выражением для вычисления значения, создания итогового поля или фильтрования строк. Такое выражение может состоять из имен полей текущей записи или других записей, констант, операторов, символов подстановки, итоговых и других функций. Более подробную информацию и примеры таких выражений можно найти в справочных материалах для свойства Expression объекта DataColumn.

<p>Вставка данных в объект DataTable</p>

После определения объекта DataTable и его схемы можно начинать ввод данных.

В листинге 5.2 приводится код вставки записей с данными в DataTable. Подпрограмма AddData включает четыре записи с данными в таблицу Departments и три записи с данными в таблицу Employees следующим образом.

1. Сначала создается новый экземпляр объекта DataRow для нужной таблицы с помощью метода NewRow.

2. Затем присваиваются значения полям этой записи.

3. После этого запись включается в коллекцию записей Rows таблицы с помощью метода Add свойства Rows таблицы.

ЛИСТИНГ 5.2. Код программного ввода данных в объект DataTable

Private Sub AddData ()

 Dim dtDepartments As DataTable = dsEmployeeInfo.Tables ("Departments")

 Dim dtEmployees As DataTable = dsEmployeeInfo.Tables("Employees")

 ' Вставка четырех записей в таблицу Departments.

 Dim rowDept As DataRow

 rowDept = dtDepartments.NewRow

 rowDept("ID") = 11

 rowDept("DepartmentName") = "Administration"

 dtDepartments.Rows.Add(rowDept)

 rowDept = dtDepartments.NewRow rowDept("ID") = 22

 rowDept("DepartmentName") = "Engineering"

 dtDepartments.Rows.Add(rowDept)

 rowDept = dtDepartments.NewRow

 rowDept("ID") = 33

 rowDept("DepartmentName") = "Sales"

 dtDepartments.Rows.Add(rowDept)

 rowDept = dtDepartments.NewRow rowDept("ID") =44

 rowDept("DepartmentName") = "Marketing"

 dtDepartments.Rows.Add(rowDept)

Перейти на страницу:

Похожие книги

Access 2002: Самоучитель
Access 2002: Самоучитель

В книге рассматривается широкий круг вопросов, связанных с использованием программной среды Access 2002, которая является составной частью пакета Office 2002 и предназначена для создания банка данных в самых различных предметных областях.Подробно описывается методика проектирования объектов базы данных (таблицы, формы, отчеты, страницы доступа к данным, запросы, модули).Детально обсуждаются вопросы создания интегрированной базы данных в единой среде Access 2002: формирование БД с нуля, конвертирование в программную среду баз данных, созданных в ином программном окружении – Clarion, FoxPro.Особое внимание уделяется формированию разнообразных запросов к интегрированной базе данных Access 2002 с использованием языков программирования SQL, VBA и макросов.Приводятся общие сведения о возможностях языка обмена данными между различными компьютерами и приложениями (XML). Описываются возможности использования гиперссылок, связывающих базу данных с другими программными продуктами. Объясняется, как можно работать с базой данных Access 2002 без установки ее на компьютер, используя технологию ODBC (Open Data Base Connectivity). В приложениях приводятся количественные параметры Access 2002 и связанная с этой СУБД терминология.Предлагаемая книга будет полезна специалистам, занимающимся практической разработкой банков данных и приложений на их основе, а также студентам вузов, изучающим информатику.

Павел Юрьевич Дубнов

Программирование, программы, базы данных / ОС и Сети / Книги по IT