当前位置:编程学习 > C#/ASP.NET >>

ADO.NET数据库多表关联的删除

 比如我用datagrid显示数据的是从两个表提取的
其中表2是存储的编号信息,表1是业务数据,
selcet 表2.Name,表1.* from 表1 inner join 表2 on 表1.NO=表2.NO

用dataadpter.Fill(dataset,"View"),然后绑定到datagrid上面

现在我想删除一条选定的业务数据,
dataRow dr=dataset.tables["View"].Rows[datagrid.CurrentRow];
dr.DataRow.Delete();
然后用dataadpter.updata(dataset,"View")更新


俺是刚从业余的ado+vb转过来的
知道如果用sqlcommand直接操作数据库应该可以实现,
但是想用dataset来试试,请问这样子能不能将表1对应的数据删除?表2受不受影响
--------------------编程问答-------------------- 不能实现,你试试就知道了,来自于多个表的数据,只能自己写语句来进行增删改 --------------------编程问答-------------------- 在DataSet里面Delete只是删除了离线数据,并没有真正删除数据库的数据

还需要调用DataAdapter上的Update方法,而Update方法其实是调用了内置的DeleteCommand上的语句,DeleteCommand就是一个Sqlcommand对象,他的SQL语句怎么写,是你可以定制的,你可以让他只删除一个表的,也可以让他删另一个表的. --------------------编程问答-------------------- 写sql语句来进行更新,用SqlCommandBuider就是只能对单表操作,不支持多表 
--------------------编程问答-------------------- 谢谢各位
我是自学编程的,很多编程习惯不好,想再请教一个编程习惯的问题

做数据库的程序,因为有很多界面可以重用,比如两个产品,业务部分分别一张表:产品TB1,产品TB2
产品TB1和产品TB2基本结构很相似,业务也很相似。

如果是做一个界面,然后用全局变量区分用于管理哪个产品,写form_load的时候重新设置两个产品的界面。这样源文件的文件数很少,但是文件里面的代码量较大,而且逻辑相对复杂。
如果做两个界面文件,代码量会少一些,而且逻辑比较清楚。还能直接在控件上绑定数据。

请问各位一般是习惯采用哪种方式?
对于同样技术水平的人,内部实现原理相同的情况下,哪种方式做出来的程序稳定,哪种生成的二进制文件小? --------------------编程问答-------------------- 再比如增加、编辑、删除操作是在一个界面上实现好,还是应该采用弹窗来做 --------------------编程问答--------------------
引用 4 楼 lx0825 的回复:
谢谢各位
 我是自学编程的,很多编程习惯不好,想再请教一个编程习惯的问题

 做数据库的程序,因为有很多界面可以重用,比如两个产品,业务部分分别一张表:产品TB1,产品TB2
 产品TB1和产品TB2基本结构很相似,业务也很相似。

 如果是做一个界面,然后用全局变量区分用于管理哪个产品,写form_load的时候重新设置两个产品的界面。这样源文件的文件数很少,但是文件里面的代码量较大,而且逻辑相对复杂。
 如果做两个界面文件,代码量会少一些,而且逻辑比较清楚。还能直接在控件上绑定数据。

 请问各位一般是习惯采用哪种方式?
 对于同样技术水平的人,内部实现原理相同的情况下,哪种方式做出来的程序稳定,哪种生成的二进制文件小?


有必要吗?判断一下哪个产品,绑定不同的表不就行了,真不行放个Tab,两个都绑上去,他要用哪个让他自己选哪个。 --------------------编程问答-------------------- 这样子代码量比较大,而且对每个操作都要写个if else,然后该显示的控件visible=true,回来还得该成false,该改名的还得text=“产品2”,回来还得="产品2",代码增加不少。

俺所谓绑定是直接在界面设计时,动动鼠标,就把数据绑在控件上,
两个表的相似字段可不可以直接绑一个控件上呢? --------------------编程问答-------------------- 1.你的思路不对
2.如果怕写代码,还是别搞开发了…… --------------------编程问答-------------------- 业余 嘿嘿
主要做些部门用的小工具
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,