close

Вход

Забыли?

вход по аккаунту

?

6. Как сохранить Typed data Set используя TableAdapter

код для вставкиСкачать
Как сохранить Typed data Set используя TableAdapter
Этот документ извлечен из статей, которые вы можете найти по следующим ссылкам.
In the Microsoft(r) Visual Studio(r) 2005 documentation at
* How to: Save Dataset Changes to a Database
ms-help://MS.VSCC.v80/MS.MSDNQTR.v80.en/MS.MSDN.v80/MS.VisualStudio.v80.en/dv_raddata/html/c9970150-b71b-4c9d-a355-5efb6b510dca.htm
Как сохранить Typed data Set используя TableAdapter
После того как данные в data set были изменены, вы вероятней всего захотите обновить данные в базе данных. Для того что бы отправить измененные данные в базу данных, вы вызываете метод Update для данных или TableAdapter. Метод Update обновит одну таблицу данных, выполнив нужную команду (INSERT, UPDATE, или DELETE) на основе RowState каждой строки данных в таблице.
Поскольку попытка обновить данные может привести к ошибке, вам следует поместить код, который вызовет метод обновления в нутрии блока Try...Catch.
Точная процедура обновления данных может варьироваться в зависимости от ваших потребностей, но ваше приложении должно включать следующие шаги:
1. Вызовите метод Update в блоке Try...Catch.
2. Если перехватывается исключение, найдите строку данных, которая вызывает ошибку.
3. Согласуйте проблемы в строке данных и повторите попытку обновления.
Сохранение данных из Single DataTable в Database с помощью TableAdapter.
Вызовите Update метод TableAdapter или data adapter, передав таблицу данных, которая содержи значения, которые будут записаны в базу данных.
Что бы обновить базу данных используйте TableAdapter.
Следующий пример покажет вам, как попытаться обновить данные из блока Try...Catch.
[Visual Basic]
Try
customersTableAdapter.Update(Me.northwindDataSet.Customers)
Catch ex As Exception
MessageBox.Show("Update failed")
End Try
[C#]
try
{
customersTableAdapter.Update(this.northwindDataSet.Customers);
}
catch (System.Exception ex)
{
MessageBox.Show("Update failed");
}
Обновление двух Related Tables в Dataset с помощью TableAdapter.
При обновление связанных таблиц в наборе данных, важно, что бы обновление происходило в правильной последовательности, что снизит вероятность нарушения целостности. Порядок выполнения команд также будет следовать за показателями DataRowCollection в наборе данных. Для предотвращения ошибок целостности данных, лучше практиковать обновление база данных в следующей последовательности. * Дочерняя таблица: удаление записи
* Родительская таблица: вставка, обновление или удаление записи
* Дочерняя таблица: вставка или обновление записи.
Вы должны включить всю логику обновления в транзакцию. * Следующий пример покажет вам, как обновить источник данных, который содержит связанные таблицы. Для того что бы соблюсти предыдущую последовательность будут созданы три временных таблицы, которые будут хранить различные записи. Тогда метод Update вызовет каждое множество подстрок из блока Try...Catch. Если обновление содержит ошибки, предлагаемый курс действий отладит их решение. Если все обновления успешны, транзакция зафиксирует изменения. И наконец ликвидируются все временные таблицы, что освободит ресурс.
[Visual Basic]
Private Sub UpdateDB()
Dim deletedChildRecords As DataTable = _
northwindDataSet.Orders.GetChanges(Data.DataRowState.Deleted)
Dim newChildRecords As DataTable = _
northwindDataSet.Orders.GetChanges(Data.DataRowState.Added)
Dim modifiedChildRecords As DataTable = _
northwindDataSet.Orders.GetChanges(Data.DataRowState.Modified)
Try
If deletedChildRecords IsNot Nothing Then
OrdersTableAdapter.Update(deletedChildRecords)
deletedChildRecords.Dispose()
End If
CustomersTableAdapter.Update(northwindDataSet.Customers)
If newChildRecords IsNot Nothing Then
OrdersTableAdapter.Update(newChildRecords)
newChildRecords.Dispose()
End If
If modifiedChildRecords IsNot Nothing Then
OrdersTableAdapter.Update(modifiedChildRecords)
modifiedChildRecords.Dispose()
End If
northwindDataSet.AcceptChanges()
Catch ex As Exception
' Update error, resolve and try again.
End Try
End Sub
[C#]
void UpdateDB()
{
DataTable deletedChildRecords =
northwindDataSet.Orders.GetChanges(DataRowState.Deleted);
DataTable newChildRecords =
northwindDataSet.Orders.GetChanges(DataRowState.Added);
DataTable modifiedChildRecords =
northwindDataSet.Orders.GetChanges(DataRowState.Modified);
try
{
if (deletedChildRecords != null)
{
OrdersTableAdapter.Update(deletedChildRecords);
deletedChildRecords.Dispose();
}
CustomersTableAdapter.Update(northwindDataSet.Customers);
if (newChildRecords != null)
{
OrdersTableAdapter.Update(newChildRecords);
newChildRecords.Dispose();
}
if (modifiedChildRecords != null)
{
OrdersTableAdapter.Update(modiifiedChildRecords);
modifiedChildRecords.Dispose();
}
northwindDataSet.AcceptChanges();
}
catch (Exception ex)
{
// Update error, resolve and try again.
}
}
Документ
Категория
Рефераты
Просмотров
80
Размер файла
39 Кб
Теги
data, tableadapter, сохраните, typed, используя, set
1/--страниц
Пожаловаться на содержимое документа