中易网

DataTable 中如何按行的内容删除 如像SQLSERVER 中的"delete from mytable where id=23"

答案:2  悬赏:60  
解决时间 2021-02-22 14:35
我查了资料,只能根据行号来删除,但更多的情况下是要判断行的内容来删除的.
最佳答案
DataTable中是通过行号来删除行;可以对DataTable建立DataView,然后利用DataView的RowFilter属性来过滤掉不需要的行,然后再用DataView做数据源进行数据绑定

string sqlStr = "SELECt Columns FROM TableName";
string connStr = "ConnectionString";
SqlConnection conn = new SqlConnection(connStr);
SqlDataAdapter da = new SqlDataAdapter(sqlStr, conn);
DataSet ds = new DataSet();
da.Fill(ds);

DataView dv = new DataView();
dv.Table = ds.Tables[0];
dv.RowFilter = "id<>23"
全部回答
这个感觉很简单,但是要借助datagridview数据组件,用commandbuilder对象进行更新,可以实现删除、更新、或者添加操作。比如,以sqlite数据库(与sqlserver数据库类似,体量小一些)为例: static sqliteconnection conn = new sqliteconnection("data source=f:\\project\\data\\test;version=3;"); sqlitecommand cmd = new sqlitecommand("select * from usertab", conn); sqlitedataadapter sda = new sqlitedataadapter(); dataset ds=new dataset(); private void form1_load(object sender, eventargs e) { conn.open(); sda.selectcommand = cmd; sda.fill(ds,"usertab"); this.datagridview1.datasource = ds; this.datagridview1.datamember = "usertab"; conn.close(); } private void button1_click(object sender, system.eventargs e) { sqlitecommandbuilder scb = new sqlitecommandbuilder(sda); scb.getupdatecommand(); sda.update(ds,"usertab"); }
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
小松鼠为什么长了一条大尾巴
一本洪荒小说主人公是一棵树后来是人族圣父成
冰晶玻艺在什么地方啊,我要过去处理事情
网金免费区的一些问题三转和名门的
小猫爱啃花草,不想打它,怎么办?
街头发艺发型设计怎么去啊,我要去那办事
为什么古代人结婚时要带红盖头?
天天上班 没有休息 公司不让员工请假违法吗
厅级干部有秘书么
大家觉得许嵩唱的怎么样?可以说我是听着他的
如何练出肌肉的分离度
悠然茶室在什么地方啊,我要过去处理事情
高中毕业了,年龄不够18周岁,可以考驾照吗?
好玩的倚天合击网站那里有?
免漆门套掉皮怎么修复
推荐资讯
微星785gtm-e45通电cpu风扇自传开不了机
沃佳纤体美容公益一块钱减肥一年,途中喝千方
初学verilog,应该怎么学习,难吗
女人抽烟会胖吗?
强威轮胎是哪儿生产
脚崴了24小时了,现在还有些红肿,能洗热水澡
请问如何在QQ上找朋友?
车在合肥中绿广场给拖了怎么办
哪些因素会改变外贸产品的价格
西方象征主义对中国诗歌发展的影响。
广州市职业技能鉴定站地址在哪,我要去那里办
读成人高考的商务英语有用吗?有前途吗?我是
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?