| « Поставить закладку » « Сделать стартовой » | |||
|
|||
|
Изменение объекта DataRow
При необходимости внести значительные изменения в объект DataSet (Набор данных) и отложить при этом проверку ограничений и событий, можно использовать режим редактирования набора данных. BeginEdit. EndEdit, CancelEdit Переход в режим редактирования осуществляется вызовом метода
BeginEdit объекта строки, которую необходимо изменить. Для выхода из этого
режима используются методы EndEdit и CancelEdit. DataRow *rowToEdit = books->Rows->get_Item(0); // книги-> Строки
Однако исключение возникает, как только в программе вызывается метод EndEdit. try { В результате будет напечатано следующее сообщение, указывающее
на то, что по окончании сеанса изменения содержимого строки обнаружено нарушение
ограничения. Версии объекта DataRow До того, как будут подтверждены внесенные в строку изменения,
доступны и исходные, и измененные значения полей строки. С помощью свойства
элемента строки28 Da-taRowVersion можно определить, какое именно значение вы
хотите использовать. Это свойство может иметь значения Original
(Первоначальное), Default (Заданное по умолчанию), Current (Текущее) и Proposed
(Предложенное). DataRow *rowToEdit = books->Rows->get_Item(0); В результате программа напечатает: Book Author Id Field Current Value I Book Author Id Field Proposed Value 21 Book Author Id Field Default Value 21 Вот перевод: Текущее значение поля идентификатора автора книги 1 При выполнении транзакционного редактирования доступны значения Current (Текущее) и Proposed (Предложенное). После вызова метода CancelEdit значение Proposed (Предложенное) становится недоступным. После вызова метода EndEdit значение, имевшее атрибут Proposed (Предложенное) меняет атрибут на Current (Текущее) а значение, имевшее атрибут Proposed (Предложенное), становится недоступным. Свойство RowState объекта DataRow Кроме того, что в режиме редактирования доступны значения поля
Current (Текущее) и Proposed (Предложенное), сам объект DataRow имеет свойство,
описывающее состояние соответствующей строки. Это свойство может принимать
значения Added (Добавлено), Deleted (Удалено), Detached (Отсоединено), Modified
(Изменено) или Unchanged (He изменено). Принятие или отмена изменений Вызов метода EndEdit объекта DataRow не приводит к фиксации
изменений, сделанных в строке. Вызов методов AcceptChanges или RejectChanges
объектов DataSet (Набор данных), DataTable (Таблица данных) или DataRow приводит
к выходу из режима транзакционного редактирования для всех строк
соответствующего объекта. Если до этого не были вызваны EndEdit или CancelEdit,
AcceptChanges или Rejec-tChanges вызывают эти методы для всех строк
соответствующего объекта. void CancelReservation(int id) // идентификатор Если вы не будете отменять внесенные изменения в случае возникновения ошибки, измененные строки останутся в объекте DataSet (Набор данных). Тогда, при попытке произвести следующее обновление, оно также будет отменено из-за того, что строки все еще не обновлены и наличие их приводит к возникновению исключения. Поскольку объект DataSet (Набор данных) независим от других баз данных, тот факт, что данные в базе данных были обновлены, не имеет никакого отношения к принятию или отмене произведенных изменений данных в самом объекте DataSet (Набор данных). Ошибки объекта DataRow Если при изменении данных строки произошла ошибка, свойство HasError объекта DataSet (Набор данных), DataTable (Таблица данных) или DataRow примет значение true (истина). Для получения информации об ошибке используются методы GetCol-umnError или GetCoiunmsInError. Рубрика: ADO .NET
Подгрузка через AJAX HTML-кода, содержащег....
При разработке CMS S.Builder наша команда активно использовала AJAX. Теперь вот решили поделиться накопленным опытом. Начнем с этого хабратопика. Не буду здесь затрагивать различные фреймворки и библиотеки. Свой код всегда роднее. Для работы с AJAX-ом в S.Builder написана библиотека sbAJAX. Можете качать и пользоваться :). В этом файле есть функция sbEvalJS. Для тех, кто не знает, объясню. При подгрузке через AJAX и вставке на страницу HTML-кода, содержащего JavaScript, JavaScript выполняться не будет или полезут баги. Эта функция как раз решает поставленную задачу.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Обзор нового релиза самой мощной Ajax библ....
Хотя наш обзор немного запоздал, оригинальный Dojo 1.2 вышел в релизной версии ещё 6-го октября, но сейчас мы наверстаем упущенное. И так, Dojo Toolkit — это самая мощная и гибкая ajax-библиотека из всех, что есть на рынке, она активно развивается и имеет большое комьюнити. Кстати, это самое комьюнити, совместно с компанией Sitepen, имеет ещё несколько проектов, среди которых и Cometd и некоторые другие, не менее интересные, о которых мы скоро вам расскажем. Сегодня же все внимание на флагманский продукт — Dojo 1.2.
Подробнее... |
Рубрика: AJAX
| Добавлено: 19.11.2008
Firebug 1.3 и 1.4 alpha — что нового и инт....
Если вы профессиональный веб-разработчик и постоянно имеете дело с разработкой и отладкой сложных AJAX приложений, то наверняка знаете и используете Firebug — плагин для браузера Firefox, предназначенный для отладки и исследования веб-приложений. Текущая его версия, 1.2х достаточно стабильная и функциональна, чтобы помочь в 99% проблем, которые могут возникнуть при разработке. Но и этот инструмент не лишён если не недостатков, то некоторых фич, которые могли бы облегчить работу. И даже идеальный инструмент можно сделать ещё более идеальным, как бы это не звучало.
Подробнее... |
Рубрика: Вебмастеру
| Добавлено: 19.11.2008
Остальные статьи: |
Цитата дня (все,добавить):
|
Realcoding.NET
© 2003-2008 |
Контакты |
Реклама на сайте
|