Omicron_Persey_8
Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору MagistrAnatol Раз DataSet создвал мастером, значит студия тебе сделала специальный класс и потому к полям можешь обращаться через ((класс объекта mdDS.OPERACIIRow)mdDS.OPERACII.Rows[0]).IS_DELETED = 1; (могу ошибиться в названиях полей) Метод Fill нужен для того, чтобы при помощи TableAdapter'а заполнить DataSet или DataTable. По умолчанию он просто копирует таблицу источника данных. Кроме этого, можно добавлять свои методы получения данных при помощи написания SQL-запроса. Также, у TableAdapter'a есть свойства: SelectCommand, InsertCommand, UpdateCommand, и DeleteCommand. Там зранятся запросы, которые реально будут вызваны для соответствующего действия (выборки, вставки, обновления и т. д.). Запросы SQL-ные. Переписывать очень рекомендую, так как студия генерит их очень плохо. Добавлено: Concurency violation возникает, когда пытаетесь редактировать уже измененную запись, но не сохраненную. Например в базе запись: [Name="John", Age=45]. Fill'ом кидаете эту информацию в DataSet. Меняете ее в DataSet'е на [Name="John", Age=54]. В то же самое время, кто-то в базе меняет эту же запись на [Name="John", Age=90]. При попытке обновления базы из DataSet'а ни фига не обновиться, потому как DataSet помнит, что читал запись, где Age был равен 45. Вывод: переписать UpdateCommmand так, чтобы он искал запись НЕ ПО ВСЕМ ПОЛЯМ, как он делает по умолчанию, а только, например, по первичному ключу. В общем случае пробуйте помещать обновление таблицы в try-блок, ловить DBConcurrencyException и в его свойствах смотреть, чего ему не хватает |