Architecture Net



         

Изменение объекта DataRow - часть 4


void CancelReservation(int id) // идентификатор
{
DataTable *t = 0;
try
{
t = dataset->Tables->get_Item("Reservations");
// набор данных-> Таблицы-> get_Item ("Резервирование");
DataRow *rc [] = t->Select ( // Выбор
String::Format("Reservationld = {0} ", // Строка:: Формат
id.ToString())); // идентификатор for (int i=0; i<rc->Length; i++) re[i]->Delete(); // Удалить
int NumberRows = adapter->Update( // Обновление dataset, "Reservations"); // набор данных, "Резервирование"); if (NumberRows > 0) // если (NumberRows> 0)
t->AcceptChanges () ; else
t->RejectChanges () ; }
catch(Exception *e) // Исключение {
t->RejectChanges();
throw e; }
return;
}

Если вы не будете отменять внесенные изменения в случае возникновения ошибки, измененные строки останутся в объекте DataSet (Набор данных). Тогда, при попытке произвести следующее обновление, оно также будет отменено из-за того, что строки все еще не обновлены и наличие их приводит к возникновению исключения. Поскольку объект DataSet (Набор данных) независим от других баз данных, тот факт, что данные в базе данных были обновлены, не имеет никакого отношения к принятию или отмене произведенных изменений данных в самом объекте DataSet (Набор данных).

Ошибки объекта DataRow

Если при изменении данных строки произошла ошибка, свойство HasError объекта DataSet (Набор данных), DataTable (Таблица данных) или DataRow примет значение true (истина). Для получения информации об ошибке используются методы GetCol-umnError или GetCoiunmsInError.

CompEbook.ru Железо, дизайн, обучение и другие




Содержание  Назад  Вперед