Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Тут можно читать онлайн Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство Издательский дом Вильямс, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание
  • Автор:
  • Жанр:
  • Издательство:
    Издательский дом Вильямс
  • Год:
    2007
  • Город:
    Москва • Санкт-Петербург • Киев
  • ISBN:
    ISBN 5-8459-1124-9
  • Рейтинг:
    3.2/5. Голосов: 101
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Эндрю Троелсен - ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание краткое содержание

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - описание и краткое содержание, автор Эндрю Троелсен, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

В этой книге содержится описание базовых принципов функционирования платформы .NET, системы типов .NET и различных инструментальных средств разработки, используемых при создании приложений .NET. Представлены базовые возможности языка программирования C# 2005, включая новые синтаксические конструкции, появившиеся с выходом .NET 2.0, а также синтаксис и семантика языка CIL. В книге рассматривается формат сборок .NET, библиотеки базовых классов .NET. файловый ввод-вывод, возможности удаленного доступа, конструкция приложений Windows Forms, доступ к базам данных с помощью ADO.NET, создание Web-приложений ASP.NET и Web-служб XML. Книга содержит множество примеров программного кода, призванного помочь читателю в освоении предлагаемого материала. Программный код примеров можно загрузить с Web-сайта издательства.

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - читать онлайн бесплатно полную версию (весь текст целиком)

ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание - читать книгу онлайн бесплатно, автор Эндрю Троелсен
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

static void PrintDataSet(DataSet ds) {

Console.WriteLine("Таблицы в DataSet '{0}'.\n", ds.DataSetName);

foreach (DataTable dt in ds.Tables) {

Console.WriteLine("Таблица {0}.\n", dt.TableName);

// Вывод имен столбцов.

for (int curCol = 0; curCol ‹ dt.Coumns.Count; curCol++) {

Console.Write(dt.Columns[curCol].ColumnName.Trim() + ''\t");

}

Console.WriteLine("\n--------------------------------");

// Вывод DataTable.

for (int curRow = 0; curRow ‹ dt.Rows.Count; curRow++) {

for (int curCol = 0; curCol ‹ dt.Columns.Count; curCol++) {

Console.Write(dt.Rows[curRow][curCol.ToString() + "\t");

}

Console.WriteLine();

}

}

}

Вывод программы показан на рис. 22.12.

Рис 2212 Содержимое объекта DataSet примера Работа с DataTableReader в NET - фото 326

Рис. 22.12. Содержимое объекта DataSet примера

Работа с DataTableReader в .NET 2.0

Тип DataTable предлагает еще целый ряд методов, кроме тех, что уже были нами рассмотрены. Подобно DataSet, тип DataTable поддерживает, например, методы AcceptChanges(), GetChanges(), Сору() и ReadXml()/WriteXml(). В .NET 2.0 тип DataTable поддерживают также метод CreateDataReader(). Этот метод позволяет получить данные DataTable, используя схему, соответствующую схеме навигации объекта чтения данных (только вперед и только для чтения). Для примера создайте новую вспомогательную функцию PrintTable(), реализованную следующим образом.

private static void PrintTable(DataTable dt) {

Console.WriteLine("\n***** Строки в DataTable *****");

// Получение нового для .NET 2.0 типа DataTableReader.

DataTableReader dtReader = dt.CreateDataReader();

// DataTableReader работает подобно DataReader.

while (dtReader.Read()) {

for (int i = 0; i ‹ dtReader.FleldCount; i++) {

Console.Write("{0} = {1} ", dtReader.GetName(i), dtReader.GetValue(i).ToString().Trim());

}

Console.WriteLine();

}

dtReader.Close();

}

Обратите внимание на то, что DataTableReader работает аналогично объекту чтения данных поставщика данных. Использование DataTableReader может оказаться идеальным вариантом, когда нужно быстро прочитать данные DataTable без просмотра внутренних коллекций строк и столбцов. Для вызова метода нужно просто указать соответствующую таблицу.

static void Main(string[] args) {

// Печать DataTable с помощью 'объекта чтения таблиц' .

PrintTable(carsInventoryDS.Tables["Inventory"]);

}

Сохранение DataSet (и DataTable) в формате XML

В завершение рассмотрения текущего примера напомним, что как DataSet, так и DataTable предлагают поддержку методов WriteXml() и ReadXml(). Метод WriteXml() позволяет сохранить содержимое объекта в локальном файле (или вообще в любом типе System.IO.Stream) в виде XML-документа. Метод ReadXml() позволяет прочитать информацию о состоянии DataSet (или DataTable) из имеющегося XML-документа. Кроме того, как DataSet, так и DataTable поддерживают WriteXmlSchema() и ReadXmlSchema() для сохранения и загрузки файлов * .xsd. Чтобы это проверить, добавьте в метод Main() следующий набор операторов.

static void Main(string [] args) {

// Сохранение DataSet в виде XML.

carsInventoryDS.WriteXml("carsDataSet.xml");

carsInventoryDS.WriteXmlSchema("carsDataSet.xsd");

// Очистка DataSet и вывод содержимого (должно быть пустым).

carsInventoryDS.Сlear();

PrintDataSet(carsInventoryDS);

// Загрузка и печать DataSet.

carsInventoryDS.ReadXml("carsDataSet.xml");

PrintDataSet(carsInventoryDS);

}

Если открыть сохраненный файл carsDataSet.xml, вы увидите, что в нем представлены все столбцы таблицы, закодированные в виде XML-элементов.

‹?xml version="1.0" standalone="yes"?›

‹Car_x0020_Inventory›

‹Inventory›

‹CarID›0‹/CarID›

‹Make›BMW‹/Make›

‹Color›черный‹/Color

‹PetName›Hamlet‹/PetName›

‹/Inventory›

‹Inventory›

‹CarID›1‹/CarID›

‹Make›Saab‹/Make›

‹Color›красный‹/Color›

‹PetName›Sea Brеeze‹/PеtName›

‹/Inventory›

‹/Car_x0020_Inventory›

Наконец, напомним, что тип DataColumn поддерживает свойство ColumnMapping, которое можно использовать для управления представлением столбца в XML-формате. Значением, устанавливаемым для этого свойства по умолчанию, является MappingType.Element. Однако можно потребовать, чтобы столбец CarID представлялся XML-атрибутом, как это сделано ниже в обновленной версии объекта carIDColumn для DataColumn.

Static void Main(string[] args) {

DataColumn carIDColumn = new DataColumn("CarID", typeof(int));

carIDColumn.ColumnMapping = MappingType.Attribute;

}

Тогда вы обнаружите следующий XML-код.

‹?xml version="1.0" standalone="yes"?›

‹Car_x0020_Inventory›

‹Inventory CarID="0"›

‹Make›BMW‹/Make›

‹Color›черный‹/Color›

‹PetName›Hamlet‹/PetName›

‹/Inventory›

‹Inventory CarID="1"›

‹Make›Saab‹/Make›

‹Color›красный‹/Color›

‹PetName›Sea Breeze‹/PetName›

‹/Inventory›

‹/Car_x0020_Inventory›

Исходный код.Проект SimpleDataSet размещен в подкаталоге, соответствующем главе 22.

Привязка DataTable к интерфейсу пользователя

Теперь, когда мы обсудили процесс взаимодействия с DataSets в общем, давайте рассмотрим соответствующий пример приложения Windows Forms. Нашей целью является построение формы, отображающей содержимое DataTable в рамках элемента управления DataGridView. На рис. 22.13 показано окно исходного пользовательского интерфейса проекта.

Рис 2213 Привязка DataTable к DataGridView ЗамечаниеДля представления - фото 327

Рис. 22.13. Привязка DataTable к DataGridView

Замечание.Для представления реляционных баз данных в .NET 2.0 элемент управления DataGridView считается наиболее "предпочтительным", однако остается доступным и устаревший элемент управления .NET 1.x DataGrid.

Создайте новое приложение Windows Forms с именем CarDataTableViewer. Добавьте в форму элемент управления DataGridView (назвав его carInventoryGridView) и Label с подходящим описанием. Затем добавьте в проект новый C#-класс (с именем Car), определив его так, как показано ниже.

public class Car {

// Здесь public используется для простоты.

public string carPetName, carMake, carColor;

public Car(string petName, string make, string color) {

carPetName = petName;

carColor = color;

carMake = make;

}

}

Теперь в рамках конструктора формы, заданного по умолчанию, наполните член-переменную List‹› множеством новых объектов Car.

public partial class MainForm: System.Windows.Forms.Form {

// Наш список машин.

private List‹Car› arTheCars = new List‹Car›();

public MainForm() {

InitializeComponent();

CenterToScreen();

// Заполнение списка.

arTheCars.Add(new Car("Chucky", "BMW", "зеленый"));

arTheCars.Add(new Car("Tiny", "Yugo", "белый"));

arTheCars.Add(newCar(", "Jeep", "коричневый"));

arTheCars.Add(new Car("Pain Inducer'', "Caravan", "розовый"));

arTheCars.Add(new Car("Fred", "BMW", "светло-зелёный"));

arTheCars.Add(new Car ("Buddha", "BMW", "черный"));

arTheCars.Add(new Car("Mel", "Firebird", "красный"));

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Эндрю Троелсен читать все книги автора по порядку

Эндрю Троелсен - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание отзывы


Отзывы читателей о книге ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание, автор: Эндрю Троелсен. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x