以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 奇怪的程序假死问题 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=38696) |
-- 作者:晕了快扶我 -- 发布时间:2013/8/4 18:43:00 -- 奇怪的程序假死问题 普通代码: If khddcx = "" Then 改造过的内部函数: Dim cx As String = Args(0)
执行函数代码:Functions.Execute("主子表查询",e.Form.Controls("查询框(供应商信息)").Text,"请输入供应商名称或供应商代码或联系人!","供应商资料主表","供应商资料子表","名称","代码","联系人","代码")
内部函数代码最后一句标红加粗的去掉就没事,但是子表没有被加载,无法显示,执行的话就直接导致程序假死,求大神解答
|
-- 作者:lsy -- 发布时间:2013/8/4 18:52:00 -- If DataTables("供应商资料主表").DataRows.Count = 0 AndAlso DataTables("供应商资料子表").DataRows.Count = 0 Then
Orelse ? |
-- 作者:晕了快扶我 -- 发布时间:2013/8/4 18:53:00 -- 以下是引用lsy在2013-8-4 18:52:00的发言:
If DataTables("供应商资料主表").DataRows.Count = 0 AndAlso DataTables("供应商资料子表").DataRows.Count = 0 Then
Orelse ? 这里必须用AndAlso的,因为我要两个条件都满足 |
-- 作者:晕了快扶我 -- 发布时间:2013/8/4 18:55:00 -- 这个是tbn1加载引起的问题,会导致我的程序死掉,动不了 |
-- 作者:lsy -- 发布时间:2013/8/4 19:01:00 -- 你判断两个条件。 一个条件不满足的话,结果会怎样? |
-- 作者:晕了快扶我 -- 发布时间:2013/8/4 19:03:00 -- 以下是引用lsy在2013-8-4 19:01:00的发言:
你判断两个条件。 一个条件不满足的话,结果会怎样? 你看我正常的代码,那段代码可以正确无错的执行的,我测试过很多次了 |
-- 作者:晕了快扶我 -- 发布时间:2013/8/4 19:05:00 -- 判断这里不会有问题的,因为我的查询是主子表一起查询的,可以查询主表列的关键字,也可以查询子表列的关键字的 |
-- 作者:jspta -- 发布时间:2013/8/4 19:06:00 -- 没看懂了, If DataTables(tbn).DataRows.Count = 0 AndAlso DataTables(tbn1).DataRows.Count = 0 Then DataTables(tbn).LoadFilter = key & " Like \'%" & cx & "%\' or " & key1 & " Like \'%" & cx & "%\'"
加载照成死循环,跟着段代码应该没有关系,而是你本身其他代码引起了最后一句加载的卡死
你这个函数的参数过多了,函数参数超过4个以上使用就不方便了。 |
-- 作者:lsy -- 发布时间:2013/8/4 19:06:00 -- 主表没有数据,下面的代码无法执行; 子表没有数据,下面的代码同样无法执行。 这样判断,就该用Orelse |
-- 作者:晕了快扶我 -- 发布时间:2013/8/4 19:13:00 -- 以下是引用jspta在2013-8-4 19:06:00的发言:
没看懂了, If DataTables(tbn).DataRows.Count = 0 AndAlso DataTables(tbn1).DataRows.Count = 0 Then DataTables(tbn).LoadFilter = key & " Like \'%" & cx & "%\' or " & key1 & " Like \'%" & cx & "%\'"
加载照成死循环,跟着段代码应该没有关系,而是你本身其他代码引起了最后一句加载的卡死
你这个函数的参数过多了,函数参数超过4个以上使用就不方便了。 第一段代码是因为我的数据是动态加载的,主表加载进来的时候要通过关联列字段加载子表啊 我奇怪的是,我普通的代码能正常执行,改写成内部函数就不行了。。 |