Сохранение удаленной строки в таблице данных для последующего удаления в базе данных - PullRequest
1 голос
/ 19 ноября 2010

Извините, если название немного расплывчато, но я пытаюсь найти хороший способ сделать это прямо сейчас.Кстати, мы используем .NET 3.5.

Пример кода:

if (ExistsInDB(dt.Rows.Find(rowID)))
     dt.Rows.Find(rowID).Delete();
else
     dt.Rows.Remove(dt.Rows.Find(rowID));

Если строка существует в базе данных, отметьте ее для удаления.В противном случае удалите его из таблицы данных.

Теперь, если я пойду дальше и изменит свойство RowState объекта DataRow на «Удалено» с помощью метода DataRow.Delete (), это прекрасно работает, за исключением того, что я не могу получить информацию, которая мне нужнаудалить строку из базы данных, когда пользователь нажимает «Сохранить изменения».

Я не хочу хранить строки в другом датированном файле, потому что у меня уже есть много других таблиц данных, и я не хочучтобы добавить больше сложности к объекту.Я бы поместил в таблицу данных другой столбец с именем «ToBeDeleted» или что-то в этом роде, но таблицы отображаются в программе через сетку.

По сути, я хочу иметь возможность пометить DataRow в DataTable дляудаление в базе данных позже, не прибегая к выбрасыванию DataRow в список или добавлению в него другого столбца.Это возможно?

Ответы [ 2 ]

2 голосов
/ 19 ноября 2010

Вы можете получить данные удаленной строки, написав

row["ColumnName", DataRowVersion.Original]
0 голосов
/ 19 ноября 2010

Почему бы не использовать DataAdapter для этого?Вы можете узнать, как это сделать, на http://msdn.microsoft.com/en-us/library/xzb1zw3x%28v=VS.90%29.aspx

Спасибо,Vamyip

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...