如何刪除符合條件的紀錄(dataset1.tables[0])

derek 2003-09-29 10:35:17
請問如何刪除dataset1.tables[0]中符合條件的一些紀錄
比如說將sname是null的全部刪除.
...全文
39 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
derek 2003-09-29
  • 打赏
  • 举报
回复
zhongwanli: 如果用dataset 直接删除的话方法已有所说明
你的意思的用那一種方法?
skykevin的方法我還沒掌握, 正請他詳細說明一下呢!
derek 2003-09-29
  • 打赏
  • 举报
回复
可惜我用的不是dataview, dataview有些不太順手, 雖然它的sort,filter之類挺好用的,用來作view挺好的,但增加紀錄的處理比較麻煩.
zhongwanli 2003-09-29
  • 打赏
  • 举报
回复
如果用dataset 直接删除的话方法已有所说明

如果确实要除数据库中的,那就用SQL
changezhong 2003-09-29
  • 打赏
  • 举报
回复
DataView dv=dataset1.tables[0].DefaultView
DataView.RowFilter
derek 2003-09-29
  • 打赏
  • 举报
回复
skykevin:
這一句沒成功,請繼續幫忙!

rows=dataset1.tables[0].select("條件");
or rows=(DataRowCollection)dataset1.tables[0].select("條件");
acewang 2003-09-29
  • 打赏
  • 举报
回复
DataView.RowFilter
derek 2003-09-29
  • 打赏
  • 举报
回复
filter 我怎麼找不到這個方法 ?

難道非進行循環判斷不可?! 記錄數多了可受不起啊!
skykevin 2003-09-29
  • 打赏
  • 举报
回复
DataRowCollection rows;
rows=dataset1.tables[0].select("條件");
rows.remove();
kuangsha007 2003-09-29
  • 打赏
  • 举报
回复
调用Remove()方法,DataRow是不被打上Delete 标记的,
改用dataset1.tables[0].row[i].Delete();
acewang 2003-09-29
  • 打赏
  • 举报
回复
if (DataSet1.Tables[0].Row[i].IsNull("sname"))
{
DataSet1.Tables[0].Row[i].Remove();
}
diaopeng 2003-09-29
  • 打赏
  • 举报
回复
if(dataset1.tables[0].row[i]["sname"] == null)
dataset1.tables[0].row[i].Remove();
好象可以这样循环来做
LA003 2003-09-29
  • 打赏
  • 举报
回复
用筛选 row.filter 行不?
honghaozi 2003-09-29
  • 打赏
  • 举报
回复
remove是把纪录删掉
delete是打上删除标记

你想想,记录没有了,update语句怎么知道删哪一行呢?

所以,如果用别人的东西,就守他的规矩
kuangren 2003-09-29
  • 打赏
  • 举报
回复
remoteat 是不加标记
delete是加标记的
derek 2003-09-29
  • 打赏
  • 举报
回复
如果用方法一, 可以看到datagrid中相關紀錄已刪除但退出後發現DATABASE中這些紀錄並未真正刪除. 方法二就可以做到真正刪除!
暈............................

方法一:
DataRow[] rows;
string exprstr="custid="+mcustid.ToString();
rows=this.ds.Tables["contacts"].Select(exprstr);

foreach (DataRow r in rows)
{
this.ds.Tables["contacts"].Rows.Remove(r);
}

rows=this.ds.Tables["contacts"].Select();

this.dacontacts.Update(this.ds,"contacts");

方法二:
for (int i=0 ;i<this.ds.Tables["contacts"].Rows.Count ;i++)
{
if ((int)this.ds.Tables["contacts"].Rows[i] ["custid"]==mcustid)
{
this.ds.Tables["contacts"].Rows[i].Delete();
}
}

this.dacontacts.Update(this.ds,"contacts");

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧