2010-11-19 4 views
1

Désolé si le titre est un peu vague, mais j'essaie de trouver un bon moyen de le faire maintenant. Nous utilisons .NET 3.5, d'ailleurs.Enregistrement d'une ligne supprimée dans une base de données à supprimer plus tard dans une base de données

code Exemple:

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

Si la ligne existe dans la base de données, le marquer pour la suppression. Sinon, supprimez-le du datatable. Maintenant, si je vais de l'avant et change la propriété RowState de DataRow à Deleted via la méthode DataRow.Delete(), cela fonctionne bien, sauf que je ne peux pas accéder à l'information que je devrais supprimer la ligne de la base de données lorsque l'utilisateur frappe "Enregistrer les modifications".

Je ne veux pas stocker les lignes dans une autre base de données car j'ai déjà beaucoup d'autres tables de données et je ne veux pas ajouter plus de complexité à l'objet. Je voudrais mettre une autre colonne sur le datatable avec le nom "ToBeDeleted" ou quelque chose, mais les tableaux sont affichés dans le programme via une grille. Essentiellement, je veux être en mesure de marquer un DataRow dans un DataTable pour la suppression dans la base de données plus tard sans avoir recours à jeter le DataRow dans une liste ou en ajoutant une autre colonne à celui-ci. Est-ce possible?

Répondre

2

Vous pouvez obtenir la ligne de suppression des données en écrivant

row["ColumnName", DataRowVersion.Original] 
+0

Merci, tout ce que je avais besoin :) – duraz0rz

Questions connexes