以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 有关主从表关联删除的问题 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=29967) |
-- 作者:魔鬼之神 -- 发布时间:2013/3/18 10:48:00 -- 有关主从表关联删除的问题 我在关联表里已设置同步删除关联行,为什么删除主表后,我在数据库里查还有明细记录存呢? |
-- 作者:狐狸爸爸 -- 发布时间:2013/3/18 11:50:00 -- 也许主表和明细的数据,没有同步加载。 例如加载了订单,但是这个订单的明细没有加载,那么对应的明细就不会自动删除了。 可以在订单表DataRowDeleteing再加上一点代码:
Dim cmd As New SqlCommand
这样没有加载的订单明细,也会被删除的。 |
-- 作者:逆行舟 -- 发布时间:2013/9/4 10:19:00 -- 我了一下狐狸爸爸的方法 跳出一个框 不知道是错在哪,数据库是access的 |
-- 作者:狐狸爸爸 -- 发布时间:2013/9/4 10:30:00 -- ConnectionName
你多了一个空格 |
-- 作者:逆行舟 -- 发布时间:2013/9/4 10:52:00 -- Provider=Microsoft.Jet.OLEDB.4.0;Data Source=dg.mdb;Persist Security Info=False 但是写在datarowdeleting里的的代码,执行的时候说 不存在名为"dg.mdb"的数据源
|
-- 作者:Bin -- 发布时间:2013/9/4 10:54:00 -- 这个填写的是你添加数据源命名的名称, 是这个名称 http://www.foxtable.com/help/topics/1822.htm |
-- 作者:逆行舟 -- 发布时间:2013/9/4 11:20:00 -- Dim cmd As New SqlCommand cmd.C cmd.CommandText = "Delete From cpcymx Where ghl = \'" & e.DataRow("id") & "\'" cmd.ExecuteNonQuery
cpcymx表中记录有好几条的,要用FOR语句了吧,bei不出来了,求救 |
-- 作者:Bin -- 发布时间:2013/9/4 11:59:00 -- 不会啊,条件删除何须FOR循环. 实在不会就上例子吧.
|
-- 作者:逆行舟 -- 发布时间:2013/9/4 12:50:00 -- 解决了,写在beforedeletddatrow 里面了 If e.DataRow.GetChildRows("cpcymx").Count > 0 Then
我老想着,表里有好几条数据,要循环起来挨个删,读取也是一样,现在还有九头牛拉不回来的架式,这个观念得改过来 |