以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 【求助】关于动态加载后出现的问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=29300) |
||||
-- 作者:even0898 -- 发布时间:2013/3/4 11:15:00 -- 【求助】关于动态加载后出现的问题 If e.DataCol.Name = "数量_本次交" For Each pr As DataRow In DataTables("销售出库单子表").Select("客户订单编号 = \'" & e.DataRow("客户订单编号") & "\' And 料号 =\'" & e.DataRow("料号") & "\'")
========================================== 这段代码写在Datacolchanged事件里 我需要通过“数量_本次交”的事件来更新{客户订单子表},{客户订单主表},{产品资料子表},{销售出库单子表}的相关数据 问题处在标红的这句代码上 如果没有这句,后台的数据无法加载到前台来进行COMPUTE的统计,会导致数据出错,如果有这句,compute的代码又无法执行出错,因为当前数据被刷新,想到用SQL的UPDATE来写,后面的代码又涉及到更复杂的逻辑,不知道怎么办了 [此贴子已经被作者于2013-3-4 11:16:38编辑过]
|
||||
-- 作者:even0898 -- 发布时间:2013/3/4 11:28:00 -- 以下是引用muhua在2013-3-4 11:20:00的发言:
Dim cmd As New SQLCommand
通过这种方法来获取外部数据源表
也就是
Dim v As Integer = DataTables("销售出库单子表").Compute("sum(数量_本次交)","客户订单编号 = \'" & e.DataRow("客户订单编号") & "\'And 料号 =\'" & e.DataRow("料号") & "\'")
换成:
Dim cmd As New SQLCommand Dim v As Integer = dt.Compute("sum(数量_本次交)","")
这个方法只能查询,我需要的是同时把后台数据给替换掉,你看这句 For Each pr As DataRow In DataTables("销售出库单子表").Select("客户订单编号 = \'" & e.DataRow("客户订单编号") & "\' And 料号 =\'" & e.DataRow("料号") & "\'") 如果我用UPDATE来直接更新后台数据的话 dr("累交数") = e.DataRow("数量_累交数") ... 等等这些值的更新又会涉及到当前行是新增的还是在已经在数据库里的判断,非常复杂,我昨晚上全部用COMMAND写的,自己都看晕了,也没完成,我把代码也贴一下吧 所以今天我想把数据加载到前台来,统计完了后保存到后台去,这样子最方便,可是就碰到上面的问题 ================= If e.DataCol.Name = "数量_本次交" Then
[此贴子已经被作者于2013-3-4 11:28:24编辑过]
|
||||
-- 作者:even0898 -- 发布时间:2013/3/4 11:32:00 -- 我做个简单的例子吧,很简单,就是把所有的表加载条件设置为[_Identify] Is Null后可以达到我全部加载后的效果 全部加载后的代码我已经写好了
|
||||
-- 作者:even0898 -- 发布时间:2013/3/4 11:35:00 -- 狐狸爸爸,我不知道是自己还有地方没看到,还是狐表关于动态加载的设计还有待完善的地方,在动态加载后需要同步更新后台数据方面我真的感觉太吃力了 |
||||
-- 作者:even0898 -- 发布时间:2013/3/4 15:08:00 -- 顶! |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/3/4 15:10:00 -- 下次更新,给ExcuteReader生成的表,加上Save功能吧。 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/3/4 15:12:00 -- 此外,计算也并非一定要加载才能计算啊,也可以用SQL语句直接计算后台数据的。 |
||||
-- 作者:even0898 -- 发布时间:2013/3/4 15:12:00 -- 以下是引用狐狸爸爸在2013-3-4 15:10:00的发言:
下次更新,给ExcuteReader生成的表,加上Save功能吧。 那现在,狐爸爸,我的问题要如何解决呢?现在卡这了... |
||||
-- 作者:even0898 -- 发布时间:2013/3/4 15:16:00 -- 以下是引用狐狸爸爸在2013-3-4 15:12:00的发言:
此外,计算也并非一定要加载才能计算啊,也可以用SQL语句直接计算后台数据的。 是后面的代码要更新的,这一句是可以用后台直接统计,后面的for..next里就是涉及到很麻烦的问题了,我上面跟帖有说的 |
||||
-- 作者:狐狸爸爸 -- 发布时间:2013/3/4 15:48:00 -- 如果有这句,compute的代码又无法执行出错
这是什么意思? |