蜜桃欧美|戒汤唯未删减版|先锋影音av资源在线观看|国产精品裸体一区二区三区,这么多年电影完整版免费在线观看,卧底2020电视剧免费全集在线观看,美好事物电影完整版在线观看

主營業(yè)務(wù):網(wǎng)站制作 網(wǎng)站優(yōu)化 小程序制作 石家莊網(wǎng)站制作網(wǎng)站建設(shè)有限公司歡迎您!
石家莊閃云網(wǎng)絡(luò)科技有限公司
客服熱線15383239821
如何讓自己的網(wǎng)站更有質(zhì)量?

在c#中 RemoveAt、 Remove、delete用法區(qū)別

發(fā)布時間:2011/3/15 13:52:00

刪除DataRow:有兩種方法可以刪除DataRow,分別是Delete方法和Remove方法和RemoveAt方法。

其區(qū)別是:

Delete方法實際上不是從DataTable中刪除掉一行,而是將其標(biāo)志為刪除,僅僅是做個記號,

而Remove方法則是真正的從DataRow中刪除一行,

RemoveAt方法是根本行的索引來刪除。

列:DataRow dr=ds.Tables[table].Rows.Find(a);ds.Tables[table].Remove(dr);或ds.Tables[table].Remove(index);//dr 為a所在的行,查出后將其刪除,index為 a所在的索引號。

 

有兩種方法可以刪除DataTable中的DataRow:
Delete方法和Remove方法和RemoveAt方法,其區(qū)別是:
Delete方法實際上不是從DataTable中刪除掉一行,而是將其標(biāo)志為刪除,僅僅是做個記號,而Remove方法則是真正的從DataRow中刪除一行,RemoveAt方法是根據(jù)行的索引來刪除。
使用方法:
DataRow dr=ds.Tables["table"].Rows.Find("a");
ds.Tables["table"].Remove(dr);

ds.Tables["table"].RemoveAt(index);

ds.Tables["table"].Row[index].Delete();
Question:
今天在實現(xiàn)一個循環(huán)刪除的功能的時候,用RemoveAt方法來實現(xiàn),結(jié)果出現(xiàn)找不到第X行的錯誤提示。可見RemoveAt執(zhí)行以后已經(jīng)提交,就是如果原來表中有兩條記錄,那么執(zhí)行一次RemoveAt(0)之后就只剩下一條記錄了,再執(zhí)行RemoveAt(1)就會報錯(其實這個時候還應(yīng)該執(zhí)行RemoveAt(0))。所以循環(huán)刪除的時候最好用Delete方法,這樣先做刪除標(biāo)記,然后用table.AcceptChanges()方法統(tǒng)一提交。
 

兩者是有區(qū)別的.
1.  使用myDataTable.Rows.RemoveAt(i)刪除行.
2.  使用myDataTable.Rows(i).delete
這時候需要使用
myDataTable.AcceptChanges
才能更新到數(shù)據(jù)庫.
-------------------------------
兩種方法看似第一種比較簡單.但不要在循環(huán)里使用myDataTable.Rows.RemoveAt(i).因為每刪除一行后.i的值會增加,但行數(shù)會是減少了.這么做一定會出錯.
 

上一篇: append的用法

相關(guān)新聞推薦

在線客服 : 服務(wù)熱線:15383239821 電子郵箱: 27535611@qq.com

公司地址:石家莊市新華區(qū)九中街江西大廈4062

備案號:冀ICP備2022000585號-4