Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 257

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 251 252 253 254 255 256 < 257 > 258 259 260 261 262 263 .. 320 >> Следующая

Тип 635
Свойство
Описание
Expression Позволяет получить или установить выражение, используемое
для фильтрации новых строк, вычисления значения в столбце или создания столбцов с агрегатными значениями
Ordinal Позволяет установить порядковый номер столбца в коллекции Columns
в DataTable
Readonly Определяет, будет ли столбец только для чтения (если да, то значения
в этом столбце после добавления строки изменять уже будет невозможно). По умолчанию имеет значение false
Table Возвращает DataTable, которой принадлежит данный объект DataColumn
Unique Позволяет Qn редглетъ, будут ли в столбце допускаться повторяющиеся
значения. Если столбец является первичным ключом, то это свойство должно иметь значение true
Создаем объект DataColumn
Чтобы показать возможности работы с Da taColuimi, мы смоделируем при помощи этого типа столбец Fl rstName (символьного типа). Представим также, что по уел о-виям задачи нам нужно, чтобы этот столбец был доступен только для чтения. Код для создания соответствующего объекта DataColumn может быть таким:
protected vo;d MnCoIитіп_С; ick (object sender. System.'vertArgs e) {
Il Создаем столбец FirstName
DataColumn col fNarre ¦ new uitaColumnO:
// Настраиваем его параметры
colFName.DataType = Type.GetTypeC"System.String"):
colFNflme.Readonly = true:
COlFName.Caption = "First Name":
colFName.ColumnName = "FirstName":
II А теперь извлекаем информацию о них
string temp = "Column type: " + colFName.DataType + "\n" + "Read only? " +
colFName.Readonly + "\n" + "Caption: " + colFName.Caption + "\n" + "Column Name: " + colFName.ColumnName + "\n" + "Nulls allowed? " + col FName. Al lowDBNull;
HesssgeBox.Showftemp. "Column properties*};
}
Результат выполнения этого кода представлен на рис. 13.3.
Е2
*1
Column type і System.String; Read only? True Caption: First Name
Column Name; FirstName Nulls slowed? True
ICZCI]I
Рис. 13.3. Некоторые свойства типа DataColumn
636 Глава 13 • Доступ к данным при помощи ADO.NET
Для типа DetaCo-Ііші предусмотрено несколько перегруженных при помощи которых можно определять многие акіііі'тиа объекта в момент его создания:
// Создаем столбец FirstColumn (второй заход)
DataColumn colFNarae = new DataColunn("FirstName". Type.GetType( "System.String" O : colFName,Readonly = true: COlFName.Caption = "First Name";
Помимо рассмотренных нами свойств, в типе DataColumn также имеется набор методов, информацию о которых можно получитьпри помощи электронной документации к С#.
Добавляем объект DataColumn в DataTable
Как правило, столбцы существуют не сами по себе, а внутри таблицы. Чтобы поместить столбец (объект DataColumn) в таблицу, нам потребуется объект таблицы (DataTable). Создание объекта DataTable будет рассмотрено позднее в этой главе, а пока представим себе, что он у нас уже создан. Объект DataColumn добавляется во внутреннюю коллекцию . DataColuTinCu" it-: 1L- on, а производится эта опера-
ция при помощи свойства DataTable. Columns:
//Создаем столбец myf.oli.mn
DataColumn myColumn = new DataColumnO:
// Создаем таблицу пуТаЫе
DataTable туТаЫе = new DataTabl et "NyTable"):
II Свойство Columns возвращает объект типа DataColumnCollection. // Для добавления столбца в таблицу используется метод Add О my Tab? е. CoI umns. Add (myCo 1 umn);
Делаем столбец первичным ключом таблицы
Один из основных принципов проектирования баз .'іділшх гласит: в каждой таблице обязательно должен быть первичный ключ (primary key). Ограничение первичного ключа используется для того, чтобы однозначно идентифицировать любую строку таблицы. В нашем примере с таблицей Empl оуeci первичным ключом будет столбец EmpID. Значения в столбце, определенном как первичный ключ, должны быть уникальными, кроме того, в нем не допускаются значения типа NULL (пустые значения), поэтому нам придется настроить соответствующие значения свойств AllowDBNull и Unique:
// Столбец EmplD будет первичным ключом таблицы
DataColumn colEmpID = new DataColumn(EnpID. Type.GetTypeC"System.Int320): colEmpID.Caption = "Employee ID"; col EmplD.AllowDBNull - false; colEmpID.Unique - true:
Однако это еще не все: чтобы столбец стал первичным ключом таблицы, нам
еще потребуется воспользоваться свойством DataTabl е. PrI тагу Key. Это мы сделаем чуть позже — при рассмотрении возможностей типа DataTable.
Тип 637
Настройка автоматического увеличения значений для столбцов
В реальных таблицах очень часто используется евонстно автоинкремента — автоматического увеличения значения столбца при добавлении в таблицу новых строк. Как только мы добавляем новую строку в таблицу, в соответствующее поле этой строки будет автоматически добавлено новое значение, основанное на значении предыдущей строки и на шаге приращения. Обычно такие столбцы называются столбцами счетчика (identity columns). Такое решение позволяет создавать уникальные (в большинстве случаев) значения для строк автоматически.
При определении столбца счетчика нам потребуется настроить значения свойств Autolncrement (определяет сам тип столбца и указывает, что значения для него нужно будет автоматически увеличивать), AutoIncrementSeed (начальное значение для столбца) и Auto I nc rementStep (шаг приращения). Соответствующий код может быть таким:
Предыдущая << 1 .. 251 252 253 254 255 256 < 257 > 258 259 260 261 262 263 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100