|
Добавление информации в базу данных при использовании объекта DataSet, состоящего из нескольких таблиц
// Создание объектов CommandBuilder для генерирования
// команд удаления, изменения и вставки данных.
SqlCommandBuilder custBldr - new SqlCommandBuilder(custDA);
SqlCommandBuilder invBldr - new SqlCommandBuilder(invDA);
// Обновление базы данных.
try
{
// Удаление информации иэ базы данных.
// Используем обратный порядок - сначала
// обновляется дочерняя таблица.
invDA.Update(invTable.GetChanges(DataRowState.Deleted));
custDA.Update(custTable.GetChanges(DataRowState.Deleted));
// Добавление и изменение информации в базе данных.
// Используем прямой порядок - сначала
// обновляется родительская таблица.
custDA.Update(custTable.GetChanges(DataRowState.Added,DataRowState.Modified));
invDA.Update(invTable.GetChanges(DataRowState.Added ,DataRowState,Modified));
}
catch (SqlException ex)
{
Console.WriteLine("Sql Error: {0} ", ex.Message);
}
SqlDataAdapter invDA = new SqlDataAdapter{"SELECT * FROM INVOICE", conn);
// Создание объекта DataSet.
DataSet dataSet - new DataSet ();
// Использование объекта DataAdapter
// для заполнения объекта DataSet.
cutDA.Fill(dmtaSt, "Customer*");
invDA.Fill(dt.Set, "Invoices");
// Определение переменной для упрощения доступа к таблице.
DataTable custTable = dataSet.Tables["Customers"];
DataTable invTable = dataSet.Tables["Invoices"];
// Определение отношения.
DataColumn custCustlDColumn = custTable.Columns["CustomerlD"];
DataColumn invCustlDColumn - invTable.Columns["CuatomerlD"];
dataSet.Relation*.Add("rel", cuetCustlDColumn,invCustlDColumn, true);
// Добавление сведений о новом клиенте.
DataRow newRow = custTable.NewRow() ;
newRow.BeginEdit();
newRow ["CustomerlD"] = Guid.NewGuid() ;
newRow["LastName"] = "Remlinger";
newRow["FirstName"] = "Mike";
newRow["Address"] = "10 Aaron Way";
newRow["City"] = "Atlanta11;
newRow["State"] = "GA";
newRow["2ip$1] - "30307";
newRow[MHomePhone"] = "(404) 543-9765";
newRow.EndEdit{);
custTable.Rows.Add(newRow);
// Изменение сведений о клиенте.
DataRow oldRow *» custTable.Rows [0] ;
oldRow["Address"] = "53 Peachtree Center";
oldRow["Zip"] - "30342";
// Изменение информации о счете.
DataRow oldlnv = oldRow.GetChildRows("rel")[0];
oldlnvpTerms"] = "Net 10th";
// Удаление клиента.
DataRow delRow = custTable.Rows[1];
delRow.Delete(};
// Создание объектов CommandBuilder для генерирования
// команд удаления, изменения и встапки данных.
SqlCommandBuilder custBldr = new SqlConimanclBuilder(custDA) ;
SqlCommandBuilder invBldr = new SqlCommandBuilder(invDA);
// Обновление базы данных,
try
// Сначала обновляется дочерняя таблица, потому что
// мы осуществляем удаление данных.
Глава 8. Обновление базы данных 205
newRow["City"j = "Atlanta";
newRow["State"] = "GA";
newRow["Zip"] = "30307";
newRow["HomePhone"J = "(404) 543-8765";
newRow.EndEdit();
custTable.Rows.Add(newRow);
// Удаление клиента.
DataRow delRow = custTable.Rows[1];
delRow.Delete();
// Изменение сведений о клиенте.
DataRow oldRow « custTable.Rows[0];
oldRow["MiddleKame"] - "Andrew";
try
{
// Обновление Сазы данных.
dataAdapter.Update(custTable);
Console.Write("Successfully Updated the Database");
}
catch (SqlException ex)
{
Console.WriteLine{ex.Message);
}
Предыдущая стр.   
Оглавление   
Следующая стр.
Средняя оценка:     (1 - 1 голосов) Для оценки необходимо зарегистрироваться
Только зарегистрировавшиеся пользователи могут оставлять комментарии
|
|