Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

DataTable




Тип DataTable определяет значительное количество членов, многие из которых совпадают по именам и функциям с аналогичными членами DataSet. Ниже приведены некоторые основные члены типа DataTable, кроме Rows и Columns:

CaseSensitive Указывает, чувствительны ли к регистру символов строковые сравнения в таблице. По умолчанию равно false
ChildRelations Возвращает коллекцию дочерних отношений для данного DataTable (если они есть)
Constraints Получает коллекцию ограничений, поддерживаемых данной таблицей
Copy() Метод, копирующий схему и данные DataTable в новый экземпляр
DataSet Получает DataSet, содержащий данную таблицу (если он есть)
DefaultView Получает специализированное представление таблицы, которое может содержать отфильтрованное представление или позицию курсора
ParentRelations Получает коллекцию родительских отношений для данного DataTable
PrimaryKey Получает или задает массив столбцов, которые выступают в качестве первичных ключей для таблицы данных
RemotingFormat Позволяет определить формат сериализации объектом DataSet его содержимого (двоичный или XML) для уровня.NET Remoting
TableName Получает или задает имя таблицы. Значение этого свойства можно также задать через параметр конструктора

В продолжение нашего примера занесем в свойство PrimaryKey объекта DataTable объект DataColumn по имени carIDColumn. Учтите, что свойству PrimaryKey соответствует коллекция объектов DataColumn, чтобы можно было обрабатывать ключи из нескольких столбцов. Но в нашем случае нужно указать только столбец CarID (который находится в таблице в самой первой позиции):

// Первичный ключ для таблицыinventoryTable.PrimaryKey = new DataColumn[] { inventoryTable.Columns[0] }; // Добавление таблицы в DataSetds.Tables.Add(inventoryTable);

Теперь нужно вставить в метод Main() вызов FillDataSet() и передать ему в качестве аргумента локальный объект DataSet. Затем передадим этот объект новому вспомогательному методу PrintDataSet (Метод PrintDataSet() просто перебирает все метаданные DataSet (используя коллекцию ExtendedProperties) и все DataTable в этом DataSet, выводя имена столбцов и значения строк с помощью индексаторов):

static void Main(string[] args) { // Создание DataSet DataSet carsInvenoryDS = new DataSet("Car Inventory"); carsInvenoryDS.ExtendedProperties["TimeStamp"] = DateTime.Now; carsInvenoryDS.ExtendedProperties["DataSetID"] = Guid.NewGuid(); carsInvenoryDS.ExtendedProperties["Company"] = "Мой магазин"; FillDataSet(carsInvenoryDS); PrintDataSet(carsInvenoryDS); Console.ReadLine(); } static void PrintDataSet(DataSet ds) { // Вывод имени и расширенных свойств Console.WriteLine("*** Объекты DataSet ***\n"); Console.WriteLine("Имя DataSet: {0}", ds.DataSetName); foreach (System.Collections.DictionaryEntry de in ds.ExtendedProperties) Console.WriteLine("Ключ = {0}, Значение = {1}", de.Key, de.Value); Console.WriteLine(); // Вывод каждой таблицы foreach (DataTable dt in ds.Tables) { Console.WriteLine("=> Таблица: {0}", dt.TableName); // Вывод имени столбцов for (int curCol = 0; curCol < dt.Columns.Count; curCol++) Console.Write(dt.Columns[curCol].ColumnName + "\t"); Console.WriteLine("\n--------------------------"); // Выводим содержимое таблицы for (int curRow = 0; curRow < dt.Rows.Count; curRow++) for (int curCol = 0; curCol < dt.Columns.Count; curCol++) Console.WriteLine(dt.Rows[curRow][curCol].ToString() + "\t"); Console.WriteLine(); } }

Если теперь запустить эту программу, будет получен следующий результат (конечно, с другими отметками времени и значением GUID):




Поделиться с друзьями:


Дата добавления: 2015-05-09; Просмотров: 504; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.