DataRow.Delete()后,就不能调用DataRow[]索引器,那么我怎么取得删除后的行的内容?
DataRow.Delete()后,就不能调用DataRow[]索引器,那么我怎么取得删除后的行的内容? 问题点数:50、回复次数:6Top
1 楼zhq2000(方舟)回复于 2003-11-02 23:37:46 得分 10
如果只是删除一行则:
DataRow row = ds.Tables[0].Select("" , "" , DataViewRowState.Deleted)[0];
或
DataRow = ds.Tables[0].GetChanges( DataViewRowState.Deleted ).Rows[0];
如果删除了多行,而要取其中指定的行:
DataRow = ds.Tables[0].Select("keyField=keyValue" , "" , DataViewRowState.Deleted)[0];
// keyField 为 主关键字段 , keyValue 为关键字段值 , 如果有多个关键字段,用 AND 连接
// 如 "(keyField1=keyValue1) AND (keyField2=keyValue2) AND ..."
Top
2 楼zhq2000(方舟)回复于 2003-11-02 23:39:11 得分 0
当然,以上操作只能是在数据修改后,未调用 AcceptChanges 或 RejectChanges 或 DataAdapter.Update 操作前有效!Top
3 楼wwonion(洋葱)回复于 2003-11-03 09:20:52 得分 0
DataRow.Delete()要指定行号Top
4 楼guoyd(guoyd)回复于 2003-11-03 10:23:40 得分 0
你们可能没看清题目, 我不是想取出删除的行,因为我既然DataRow.Delete()肯定知道是那一行删除了。 我的问题是:删除的行已经做上Deleted标记了,但我想知道删除后的行的每个字段的内容,这时我用DataRow[index]取其字段时出现错误“不能通过已删除的行访问该行的信息。”,请问我如何取出删除行的字段值?? 请各位高手指点。不够可以再加分。Top
5 楼xiaodele(小得乐)回复于 2003-11-03 10:41:21 得分 0
干嘛不通过DataView去取呢,DefaultView[index].Row也可以的呀Top
6 楼asam2183(三山)回复于 2003-11-03 10:50:59 得分 40
//读取删除后的记录的内容:
if(oDr.RowState.ToString()=="Deleted")
oDr.RejectChanges();
string sFileName=oDr["Name"].ToString();
oDr.Delete();Top




