Реклама:
Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 4.85

Примечание. Такого же эффекта можно было бы добиться, выполнив код

СиггепсуМападег ст =

(CurrencyManager)this.BindingContext[nd1, "Каї:"]; DataView dv = ((DataRowView)cm.Current).DataView; dv.Sort = "[БОБТЖ^] DESC";

Щелкнем мышью по правой части заголовка столбца Sostav и увидим, что строки в DataGrid будут динамически пересортированы по возрастанию значений этого столбца (рис. 4.86).

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 4.86

Примечание. Такого же эффекта можно было бы добиться, выполнив код

CurrencyManager ст =

(CurrencyManager)this.BindingContext[nd1, "Kaf"]; DataView dv = ((DataRowView)cm.Current).DataView; dv.Sort = "[SOSTAV]";

Пример. Пусть элемент управления dataGrid1 связан с умолчательным просмотром таблицы Kaf набора данных nd1, т. е. объектом ndLKaf.Default View. Зададим в форме кнопку btn_Info, выводящую в textBox1 значение свойства Sort этого просмотра:

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

textBoxl.Text = ndl.Kaf.DefaultView.Sort;

}

Пусть изначально просмотр отсортирован по значениям столбцов Fakultet и Nazv (рис. 4.87).

nd1.Kaf.DefaultView.Sort = "ЕАКиЬТЕТ, NAZV"; dataGrid1.DataSource = nd1.Kaf.DefaultView;

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 4.87

Щелкнем мышью по правой части заголовка столбца Sostav. Увидим, что строки DataGrid будут динамически пересортированы по возрастанию значений этого столбца (рис. 4.88).

Шумаков П. В.  ADO.NET и создание приложений баз данных в среде Microsoft Visual Studio .NET. Руководство разработчика с примерами на C#.

рис. 4.88

Примечание. Такого же эффекта можно было бы добиться, выполнив код

nd1.Kaf.DefaultView.Sort = "[SOSTAV]";

ЧАСТЬ 5 КОМАНДЫ ДАННЫХ И РИДЕРЫ

5.1. Команды данных

5.1.1. Что такое команды данных и когда нужно их применять

Команда данных выполняет какую-либо операцию непосредственно в базе данных.

Когда пользователь выполняет команду данных, то он работает напрямую с провайдером данных (например, SQL Server), избегая при этом услуг посредников, какими в ADO.NET являются наборы данных и адаптеры данных.

Адаптеры данных, собственно говоря, также пользуются услугами команд данных. В этом легко убедиться, обратившись к таким свойствам адаптеров, как SelectCommand, InsertCommand, UpdateCommand и DeleteCommand. Каждое из них содержит ссылку на команду данных, выполняющую соответственно выборку данных, вставку, модификацию и удаление данных для той таблицы в источнике данных, с которой связан этот адаптер.

Итак, без команд данных невозможно обойтись при чтении данных из источника записи и занесении в него изменений, внесенных в данные при работе с ними в приложении.

Второе, менее частое, но не менее важное применение команд - это управление структурой источника данных (например, выполнение оператора создания таблицы CREATE TABLE).

Третье применение команд данных - это "экономная" выборка данных. Записи, считанные из источника данных таким образом, можно использовать только по принципу "forward-only", т. е. только на чтение и только в одном направлении - от первой считанной записи к последней. Такой режим выборки данных применяют, когда нужно выдать какой-либо отчет, для чего перебрать все записи, удовлетворяющие некоторому условию, и, возможно, вычислить по ним группу показателей. Режим forward-only часто применяют и когда нужно отыскать в таблице какую-либо запись по сложному условию. Как только таблица найдена, перебор записей прекращают. В общем случае команды данных используются для считывания данных весьма ограниченно. Для интерактивной обработки данных пользователем, например в элементе управления DataGrid в Windows Forms, такой способ не подходит совершенно и нужно прибегнуть к помощи наборов данных. В формах Web, наоборот, использование для чтения записей команд данных и связанных с ними ридеров данных (см. ниже) предпочтительнее, учитывая тот факт, что Web-формы пересоздаются по каждому ответу на запрос пользователя.


⇐ Предыдущая страница| |Следующая страница ⇒