Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Сохранение в базу данных изменений, в DataSet


Автор: DZeus 25.3.2009, 17:18
Здравствйте уважаемые.

У меня в приложении есть DataSet (dsMedicalOrganizationServiceList)  и таблица в нём - ServiceErrors. После зарузки данных пользователь может удалять записи.
удаление строк производится следующим образом...
Код

....
  var serviceErrorsRow =    (dsMedicalOrganizationServiceList.ServiceErrorsRow)_dataEntities.ServiceErrors.Select("recid = " + recid + " and 
errorCode = '" + errorCode + "'")[0];
  serviceErrorsRow.Delete();

После удаления я сохраняю результаты...
Код

var deletedRecords = dsMedicalOrganizationServiceList.ServiceErrors.GetChanges(DataRowState.Deleted);
foreach (DataRow row in deletedRecords.Rows)
            {
                   string sqlStr =  
                    string.Format("DELETE FROM Expert.dbo.errorList WHERE recid = {0} AND errorCode = {1} AND tableName = 'service' AND id = {2}",
                            row["recid"], row["errorCode"], row["medOrgId"]);
                    _dbHelper.executeSql(sqlStr);
                
            }

Разумеется ловлю exception "Deleted row information cannot be accessed through the row". Вопрос как сохранить правильно?

Автор: DZeus 26.3.2009, 14:40
Код

ServiceErrorsTableAdapter adapter = new ServiceErrorsTableAdapter();
            adapter.Update(dsMedicalOrganizationServiceList.ServiceErrors);

Правда пришлось помучится чтобы Update Insert and Delete Commands происать...

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)