Симон Робинсон - C# для профессионалов. Том II

Здесь есть возможность читать онлайн «Симон Робинсон - C# для профессионалов. Том II» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2003, ISBN: 2003, Издательство: Лори, Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

C# для профессионалов. Том II: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «C# для профессионалов. Том II»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

C# для профессионалов
Для кого предназначена эта книга
Основные темы книги Платформа .NET предлагает новую среду, в которой можно разрабатывать практически любое приложение, действующее под управлением Windows, а язык C# — новый язык программирования, созданный специально для работы с .NET.
В этой книге представлены все основные концепции языка C# и платформы .NET. Полностью описывается синтаксис C#, приводятся примеры построения различных типов приложений с использованием C# — создание приложений и служб Windows, приложений и служб WWW при помощи ASP.NET, а также элементов управления Windows и WWW Рассматриваются общие библиотеки классов .NET, в частности, доступ к данным с помощью ADO.NET и доступ к службе Active Directory с применением классов DirectoryServices.
Эта книга предназначена для опытных разработчиков, возможно, имеющих опыт программирования на VB, C++ или Java, но не использовавших ранее в своей работе язык C# и платформу .NET. Программистам, применяющим современные технологии, книга даст полное представление о том, как писать программы на C# для платформы .NET.
• Все особенности языка C#
• C# и объектно-ориентированное программирование
• Приложения и службы Windows
• Создание web-страниц и web-служб с помощью ASP NET
• Сборки .NET
• Доступ к данным при помощи ADO NET
• Создание распределённых приложений с помощью NET Remoting
• Интеграция с COM, COM+ и службой Active Directory

C# для профессионалов. Том II — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «C# для профессионалов. Том II», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

public class WebForm1: System.Web.UI.Page {

...

protected System.Data.OleDb.OleDbConnection oleDbConnection1;

Для соединения SQL Server будет добавлен объект SqlClient.SqlConnection.

В метод InitializeComponent()также добавится код для задания свойства ConnectionStringформы oleDbConnection1, таким образом все будет готово для использования в коде.

Мы хотим выполнить соединение данных в обработчике событий Page_Load(), так что элементы управления будут полностью заполнены, когда мы захотим использовать их в других частях кода. Приступаем к считыванию данных из базы данных, независимо от того, выполняется ли в данный момент операция обратной отправки (даже если элементы управления списком будут сохранять свое содержимое с помощью viewstate), чтобы гарантировать, что мы имеем доступ ко всем данным, которые могут понадобиться, хотя нам и не нужно выполнять само соединение данных при обратной отправке. Это может показаться слегка расточительным, но читатель при желании может в качестве упражнения добавить дополнительную логику к коду для оптимизации такого поведения. Здесь мы сосредоточимся на том, как заставить все работать, не входя в практические детали.

Весь наш код будет помещен между вызовами методов Open()и Close()нашего объекта соединения:

private void Page_Load(object sender, System.EventArgs e) {

validationSummary.Enabled = false;

foreach (System.Web.UI.WebControls.WebControl validator in this.Validators) {

validator.Enabled = false;

}

oleDbConnection1.Open();

if (!this.IsPostBack) {

calendar.SelectedDate = System.DateTime.Now;

}

OleDbConnection1.Close();

}

Мы вскоре увидим, почему задание данных календаря оставлено внутри этого кода проверки обратной отправки.

Для обмена данными нам необходимо использовать несколько объектов хранения данных. Мы можем объявить их на уровне класса, чтобы мы имели к ним доступ из других функций. Нам понадобится объект DataSetдля хранения информации базы данных, три объекта OleDb.OleDbDataAdapterдля выполнения запросов на множестве данных и объект DataTableхранения событий для последующего доступа. Они объявляются следующим образом:

public class WebForm1 : System.Web.UI.Page {

...

protected System.Data.DataSet ds;

protected System.Data.DataTable eventTable;

protected System.DataOleDb.OleDbDataAdapter daAttendees;

protected System.DataOleDb.OleDbDataAdapter daRooms;

protected System.Data.OleDb.OleDbDataAdapter daEvents;

Существуют версии SQL Server всех объектов OLE DB, и их использование идентично.

Теперь для Page_Load()надо создать объект DataSet:

private void Page_Load(object sender, System.EventArgs e) {

...

oleDbConnection1.Open();

ds = new DataSet();

Затем мы должны присвоить объектам OleDbDataAdapterзапросы и соединить их с объектом соединения:

ds = new DataSet();

daAttendees =

new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Attendees", oleDbConnection1);

daRooms =

new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Rooms", oleDbConnection1);

daEvents =

new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Events", oleDbConnection1);

Затем мы выполняем запросы с помощью вызовов Fill():

daEvents =

new System.Data.OleDb.OleDbDataAdapter("SELECT * FROM Events", oleDbConnection1);

daAttendees.Fill(ds, "Attendees");

daRooms.Fill(ds, "Rooms");

daEvents.Fill(ds, "Events");

Теперь переходим непосредственно к самому соединению данных. Как упоминалось ранее, это несложно и включает задание для свойства DataSourceэлементов управления соединением таблиц, с которыми мы хотим соединиться:

daEvent s.Fill(ds, "Events");

attendeeList.DataSource = ds.Tables["Attendees"];

roomList.DataSource = ds.Tables["Rooms"];

Этот код задает свойства, но само соединение данных не произойдет, пока не будет вызван метод формы DataBind(), что мы сейчас и сделаем. Но прежде чем это сделать, заполним объект DataTableданными таблицы событий:

roomList.DataSource = ds.Tables["Rooms"];

eventTable = ds.Tables["Events"];

Будем соединять данные только в том случае, если нет обратной отправки, иначе происходит просто обновление данных (которые, по предположению, являются статическими в базе данных в течение выполнения запроса заказа события). Соединение данных при обратной отправке будет также стирать выбранные значения в элементах управления roomListи attendeeList. Мы могли бы сделать об этом замечание перед соединением, а затем обновить их, но проще вызвать DataBind()в существующем операторе if(причина, почему этот оператор содержался в области кода, где открыто соединение с данными):

eventTable = ds.Tables["Events"];

if (!this.IsPostBack) {

calendar.SelectedDate = System.DateTime.Now;

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

Интервал:

Закладка:

Сделать

Похожие книги на «C# для профессионалов. Том II»

Представляем Вашему вниманию похожие книги на «C# для профессионалов. Том II» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «C# для профессионалов. Том II»

Обсуждение, отзывы о книге «C# для профессионалов. Том II» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x