Работа с базами данных на языке C#. Технология АDO .NET. Евсеева О.Н - 132 стр.

UptoLike

Составители: 

132
Обработка исключений
В процессе передачи изменений в базу данных могут возникать много-
численные исключения. Объекты DataSet, DataTable и DataRow имеют свойство
HasErrors, позволяющее обрабатывать некоторые из них.
Для обработки исключений в процессе обновления таблиц БД можно ис-
пользовать следующий код:
private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
{
try
{
sqlDataAdapter1.Update(dataSet11);
}
catch(Exception ex)
{
if(dataSet11.HasErrors)
{
foreach( DataTable myTable in dataSet11.Tables)
{
if(myTable.HasErrors)
{
foreach(DataRow myRow in myTable.Rows)
{
if(myRow.HasErrors)
{
MessageBox.Show("Ошибка в записи #: " +
myRow["Код туриста"], myRow.RowError);
foreach(DataColumn myColumn in myRow.GetColumnsInError())
{
MessageBox.Show(myColumn.ColumnName, " – в этом столбце ошибка");
}
myRow.ClearErrors();
myRow.RejectChanges();
}
}
}
}
}
}
}
Здесь происходит проход по каждому объекту, входящему в набор
DataTable, DataRow или DataColumn. Метод ClearErrors удаляет все ошибки из объ-
екта myRow, а метод RejectChanges производит откат всех изменений.