louis vuitton bag moncler jacka ugg boots mbt sko louis vuitton oslo moncler ugg www.steklo1.ru
   Поиск
 

ADO.NET

Работа с базами данных в приложениях .NET

Cи Шарп это просто Simple C#
Логин Пароль Вход Регистрация
Главная
Изучаем C#
Web-приложения
Win-приложения
Web-сервисы
ADO.NET
FrameWork
Алгоритмы
Исходники
Классы
Среда разработки
Статьи
Форум
FAQ
О Проекте
Обратная связь
Отблагодарить
Rambler's Top100

Класс CommandBuilder

Класс CommandBuilder отвечает за генерацию запросов по мере возникновения
необходимости в них в объекте Dala Adapter. Создав объект CommandBuilder, его необходимо передать в конструктор объекта DataAdapter. Как только объект
CommandBuilder узнает об объекте DataAdapter, он использует свойство DataAdapter.
SelectCoimand, чтобы получить информацию о столбцах объекта DataTable и иметь
возможность создать команды вставки, обновления и удаления данных. Если объект
DataAdapter уже содержит некоторые команды (такие, как UPDATE и DELETE), объект
CommandBuilder создает только отсутствующие команды. Для создания необходимого SQL-оператора объект CommandBuilder регистрируется для получения уведом-
ления о событии DataAdapter.RowUpdating ( ) . Каждый управляемый поставщик
содержит собственную реализацию класса CommandBuilder (SqlCommandBuider,
OleDbCommandBuilder, OdbcCornraandBuider и OracleCornmandBuider). Для того
чтобы гарантировать нормальное функционирование объекта CommandBuilder, необходимо учесть несколько моментов.
• Свойство DataAdapter.SelectCommand должно содержать действительную команду, которая использовалась для заполнения обновляемого объекта DataTable.
Объект CommandBuilder применяет SQL-оператор SELECT, для того чтобы иметь
возможность создавать операторы вставки, обновления и удаления данных.
• Таблица DataTable, которая будет обновляться, должна либо содержать столбец
уникальных значений, либо для нее должен быть определен первичный ключ.
В противном случае объект CommandBuilder не сможет идентифицировать
запись в таблице. В частности, при отсутствии уникального столбца не сможет
быть создано предложение WHERE операторов UPDATE и DELETE.


newRow["State"] = "GA";
newRow["Zip"] = "30307";
newRow["HomePhone"] - " ( 4 0 4 ) 543-8765";
newRow.EndEdit ( ) ;
custTable.Rows.Add(newRow);
// Добавление нового клиента.
newRow «= custTable.NewRow ( ) ;
newRow.BeginEdit{);
newRow["CustomerID"] = Guid.NewGuid();
newRow["LastName"] = "Jones";
newRow["FirstName"] = "Chipper";
newRow["Address"] = "10 Aaron Way";
newRow["City"] = "Atlanta";
newRow["State"] = "GA";
newRow["Zip"] = "30307";
newRow["HomePhone"] = - " ( 4 0 4 ) 543-B768";
newRow.EndEdit{);
custTable.Rows.Add(newRow);
// Изменение информации о клиенте.
DataRow oldRow = custTable.Rows[0];
oldRow["Address"] = "53 Peachtree Center";
oldRow["Zip"] = "30342";
// Удаление клиента.
DataRow delRow = custTable.Rows[1];
delRow.Delete(};
// Создание объекта CommandBuilder для генерирования
// команд вставки, обновления и удаления данных.
SqlCommandBuilder bldr = new SqlCoromandBuilder (dataAdapter) ;
// Обновление базы данных.
dataAdapter.Update(custTable);



Предыдущая стр.    Оглавление    Следующая стр.
Средняя оценка: (1 - 1 голосов)
Для оценки необходимо зарегистрироваться


Только зарегистрировавшиеся пользователи могут оставлять комментарии



Практический обучающий видео-курс "Основы C#"

От профессионального
разработчика для начинающих
и опытных программистов!

Кликните, чтобы изучить
язык C# с нуля и научиться
писать программы под платформу .NET!