Реклама:

}

} _

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

рис. 2.45

2.2.11. Изменение соответствия между столбцами таблицы источника и таблицы данных

Чтобы программно изменить параметры соответствия между столбцами таблицы источника и таблицы данных, достаточно изменить свойство DataSetColumn объекта DataColumnMapping.

Пример. Выполним код, в котором столбцы FIO и Rank таблицы источника и набора данных меняются местами:

//---мы уверены, что таблица Prep набора данных связана только

//--- с одной таблицей в источнике данных

System.Data.Common.DataTableMapping m = aPrep.TableMappings[0]; //---перебираем все соответствия столбцов таблицы источника и //---набора данных и перемешаем столбцы FIO и Rank

foreach (System.Data.Common.DataColumnMapping cm in m.ColumnMappings)

{

if (cm.SourceColumn == "FIO")

{

cm.DataSetColumn = "Rank";

}

else if (cm.SourceColumn == "Rank") {

cm.DataSetColumn = "FIO";

}

}

и затем зальем таблицу Prep данными из источника: aPrep.Fill(nd1);

Результат показан на рис. 2.46.

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

рис. 2.46

То же, впрочем, можно сделать и из среды Viual Studio .NET. Если выбрать адаптер данных в форме приложения и в окне свойств установить указатель мыши на свойстве TableMappings, то появится кнопка эллипса. Нажав ее, мы активизируем окно Table Mappings, где содержатся сведения о соответствии таблицы источника и таблицы данных, а также их столбцов (рис. 2.47).

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

рис. 2.47

Перемешаем, как в предыдущем примере, столбцы FIO и Rank, воспользовавшись выпадающими списками в каждой строке колонки Source Columns (рис. 2.48), а затем выполним в приложении заливку таблицы Prep набора данных методом Fill. Результат будет идентичен показанному выше на рис. 2.46.

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

рис 2.48

2.2.12. Команды данных, связанные с адаптером

При конфигурировании адаптеров данных, выполняемым с помощью Data Adapter Configuration Wizard или Server Explorer, генерируется 4 команды данных, выполняющих:

считывание данных из источника; добавление в источник новых записей; изменение в источнике существующих записей; удаление в источнике существующих записей.

Ссылки на эти команды возвращают соответственно свойства адаптера данных

SelectCommand, InsertCommand, UpdateCommand, DeleteCommand. Рассмотрим особенности каждой из этих команд.

Поскольку текст операторов SQL этих команд несколько различается для адаптеров типа SqlDataAdapter и OleDbDataAdapter, условимся, что:

• рассматриваем каждую команду сразу для адаптеров обоих видов;

• адаптер типа SqlDataAdapter связывает таблицу Prep набора данных с таблицей Prep в базе данных SQL Server;

• адаптер типа OleDbDataAdapter связывает таблицу Prep набора данных с таблицей Prep в базе данных Access;

• каждый адаптер сгенерирован с установленным флажком оптимистической блокировки;

• структура таблицы Prep в обоих случаях одинакова:

Имя столбца

Тип данных

Вхождение в первичный ключ

 

KK

Целочисленный

+

 

KP

Целочисленный

+

 

FIO

Текстовый

   

Rank

Текстовый

   

Все сведения о свойствах, методах и событиях команд данных можно найти в 5.1. Здесь же мы исследуем текст оператора SQL каждой команды (свойство CommandText команды) и параметры (коллекция Parameters команды).


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