Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекция спбд.docx
Скачиваний:
59
Добавлен:
14.09.2019
Размер:
223.04 Кб
Скачать

Использование классов DataColumn, DataTable, DataRow Класс DataColumn

Класс DataColumn используется для хранения информации о колонках. У таблицы есть свойство «columns», которое является коллекцией из объектов этого класса. Каждый элемен этой коллекции содержит достаточно подробную информацию о колонке и о данных, которые могут в ней храниться.

Свойства DataColumn:

  1. AllowDBNull – позволяет узнать, могут ли данные в колонке хранить пустые значения. (Обязательное или нет поле для заполнения);

  2. AutoIncrement – если это свойство равно true, то значение колонки автоматически увеличивается при добавлении строк;

  3. AutoIncrementSeed – начальное значение автоматически увеличивающегося поля;

  4. AutoIncrementStep – занчение приращения автоинкремента;

  5. Caption – заголовок колонки;

  6. ColumnName – имя колонки в коллекции columns;

  7. DataType – тип данных;

  8. DefaultValue – значение по умолчанию;

  9. Expression – это выражение, которое может использоваться для фильтрации строк или для создания агрегируемых полей;

  10. MaxLength – максимальная длина значения;

  11. ReadOnly – делает поле доступным только для чтения;

  12. Table – хранится ссылка на таблицу, которой принадлежит колонка;

  13. Unique – позволяет определить, должно ли поле в этой колонке быть уникальным.

DataColumn col1 = new DataColumn();

col1.DataType = Type.GetType(“System.String”);

col1.ReadOnly = true;

col1.Caption = “Title (заголовок)”;

col1.ColumnName = “ColumnName”;

Console.WriteLine(“\nНазвание: {0}\nТип поля: {1}\nЗаголовок:{2}”,col1.ColumnName,col1.DataType, col1.Caption);

Лекция 9 20.04.12

Тема: Типы данных в C#

Любой встроенный тип данных в С# - это всего лишь псевдоним для существующего типа, определенного в пространстве имен System.

Перечислим системные типы данных и соответствующие им псевдонимы:

Псевдоним

Системный тип

short

Int16

int

Int32

long

Int64

char

Char

float

Single

double

Double

bool

Boolean

string

String

Класс DataTable

Класс DataTable используется для создания в оперативной памяти модели табличных наборов данных.

Наиболее важный свойства:

  1. CaseSensitive – определяет, должно ли быть сравнение строк в таблице независимым от регистра;

  2. Columns – содержит коллекцию колонок;

  3. Constraints – коллекция ограничений;

  4. DataSet – ссылка на набор данных, которому принадлежит таблица;

  5. Primary – это массив колонок типа DataColumn, который определяет первичный ключ;

  6. Rows – строки таблицы;

  7. TableName – имя таблицы.

Методы:

  1. AcceptChanches() - принять изменение;

  2. Clear() – очистить все данные таблицы;

  3. Copy() – копирует структуру и данные таблицы и возвращает в результате копию как объект;

  4. GetChanges() – получить копию текущей таблицы, в которой буду храниться изменения;

  5. Merge() – объеденить указанную таблицу с текущей;

  6. NewRow() – создать новую строку;

  7. Reset() – вернуть таблицу к первоначальному состоянию.

Предположим, что наша цель – создать объект DataTable, представляющий список автомобилей. В нашей таблице будет четыре столбца: CarID, Model, Color, PetName. Столбец Car1 будет столбцом – счетчиком и первичным ключем. Столбец PetName будет допускать значение типа null.

DataTable dt = new DataTable(“Inventory”);

Далее программным образом произведем добавление небходимых столбцов в коллекцию DataColumnCollection при помощи метода add

DataColumn CarID = new DataColumn();

CarID.caption = “id машины”;

CarID.ColumnName = “CarID”;

CarID.AutoIncrement = true;

CarID.AutoIncrementSeed = 0;

CarID.AutoIncrementStep = 1;

CarID.DataType = Type.GetType(“System.int64”);

Указываем первичный ключ. Для этого нужно указать свойство DataTable.PrimaryKey. Первичный ключ может включать в себя несколько столбцов, поэтому это свойство в качестве параметра принимает массив объектов DataColum:

DataColumn [] PK = new DataColumn[1];

PK[0] = dt.Column[“CarID”];

dt.PrimaryKey = PK;

или

dt.PrimaryKey = new DataColumn [] {col1};

Произвести добавление необходимых столбцов в в коллекцию DataColumnCollection при помощи метода addRange:

Dt.Columns.AddRange(new DataColumn [] {col1,col2,col3,col4});