Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Пример создания таблицы с несколькими столбцами

В следующем примере создается таблица DataTableс несколькими столбцами DataColumn.

Язык C#

private void MakeTable()

{

// Create a DataTable.

DataTable table = new DataTable("Product");

// Create a DataColumn and set various properties.

DataColumn column = new DataColumn();

column.DataType = System.Type.GetType("System.Decimal");

column.AllowDBNull = false;

column.Caption = "Price";

column.ColumnName = "Price";

column.DefaultValue = 25;

// Add the column to the table.

table.Columns.Add(column);

// Add 10 rows and set values.

DataRow row;

for(int i = 0; i < 10; i++)

{

row = table.NewRow();

row["Price"] = i + 1;

// Be sure to add the new row to the

// DataRowCollection.

table.Rows.Add(row);

}

}

Создаются объекты DataColumnв таблице, используя конструкторDataColumnили вызывая методAddсвойстваColumnsтаблицы, которая является объектомDataColumnCollection. МетодAddпринимает необязательные аргументыColumnName,DataTypeиExpressionи создает новыйDataColumnкак член коллекции. Он также принимает существующий объектDataColumnи добавляет его в коллекцию, а также возвращает ссылку на добавленныйDataColumn, если требуется. Так как объектыDataTableне являются специфичными для какого-либо источника данных, типы .NET Framework используются при задании типов данных дляDataColumn.

В следующем примере добавляются четыре столбца к объекту DataTable.

Язык C#

DataTable workTable = new DataTable("Customers");

DataColumn workCol = workTable.Columns.Add("CustID", typeof(Int32));

workCol.AllowDBNull = false;

workCol.Unique = true;

workTable.Columns.Add("CustLName", typeof(String));

workTable.Columns.Add("CustFName", typeof(String));

workTable.Columns.Add("Purchases", typeof(Double));

Обратите внимание, что в данном примере свойства для столбца CustIDустановлены так, что не позволяют значениямDBNullи значениям ограничений быть уникальными. Но если столбецCustIDопределяется как столбец первичного ключа таблицы, свойствоAllowDBNullбудет автоматически установлено вfalse, а свойствоUniqueбудет автоматически установлено вtrue. Дополнительные сведения см. в разделеОпределение первичных ключей (ADO.NET).

Замечание. Если для столбца не предоставляется имя, ему присваивается имя по умолчанию ColumnN с увеличивающимся суффиксом N, начиная с «Column1», когда столбец добавляется в DataColumnCollection. При предоставлении имени столбца мы рекомендуем избегать такого соглашения об именах, как «ColumnN», т. к. предоставляемое имя может вступить в конфликт с существующим именем по умолчанию столбца в DataColumnCollection. Если указанное имя уже существует, возникает исключение.

Ограничения DataTable

Объект DataTable содержит также коллекцию объектов Constraint, используемых для обеспечения целостности данных. Дополнительные сведения см. в разделеОграничения DataTable (ADO.NET).

События DataTable

Существует много событий DataTable, которые могут использоваться для определения времени внесения изменений в таблицу. К этим событиям относятся RowChanged,RowChanging,RowDeletingиRowDeleted. Дополнительные сведения о событиях, которые могут использоваться с объектом DataTable, см. в разделеОбработка событий DataTable (ADO.NET).