Foxtable(狐表)用户栏目专家坐堂 → 奇怪的程序假死问题


  共有6503人关注过本帖平板打印复制链接

主题:奇怪的程序假死问题

帅哥哟,离线,有人找我吗?
晕了快扶我
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:五尾狐 帖子:1197 积分:7062 威望:0 精华:0 注册:2013/3/4 18:02:00
奇怪的程序假死问题  发帖心情 Post By:2013/8/4 18:43:00 [只看该作者]

普通代码:

If khddcx = "" Then
    MessageBox.show("请输入!","提示")
    Return
Else
    DataTables("供应商资料主表").LoadFilter = "名称 Like '%" & khddcx & "%' or 代码 Like '%" & khddcx & "%'"
    DataTables("供应商资料主表").Load()
    DataTables("供应商资料子表").LoadFilter = "联系人 Like '%" & khddcx & "%'"
    DataTables("供应商资料子表").Load()
    If DataTables("供应商资料主表").DataRows.Count = 0  AndAlso DataTables("供应商资料子表").DataRows.Count = 0  Then
        MessageBox.show("没有查找到相关供应商资料!","提示")
        Return
    Else
        Dim ids As String
        For Each dr As DataRow In DataTables("供应商资料主表").DataRows
            ids = ids & ",'" & dr("代码") & "'"
            ids= ids.Trim(",")
            DataTables("供应商资料子表").LoadFilter = "代码 In (" & ids & ")"
        Next
        Dim vds As String
        For Each dr As DataRow In DataTables("供应商资料子表").DataRows
            vds = vds & ",'" & dr("代码") & "'"
            vds= vds.Trim(",")
            DataTables("供应商资料主表").LoadFilter = "代码 In (" & vds & ")"
        Next
    End If
End If
DataTables("供应商资料子表").LoadTop = ""
DataTables("供应商资料子表").Load()

改造过的内部函数:

Dim cx As String = Args(0)
Dim mgs As String = Args(1)
Dim tbn As String =Args(2)
Dim tbn1 As String =Args(3)
Dim key As String = Args(4)
Dim key1 As String = Args(5)
Dim key2 As String =Args(6)
Dim keys As String =Args(7)
If cx = "" Then
    MessageBox.show(mgs,"提示")
    Return Nothing
Else
    DataTables(tbn).LoadFilter = key & " Like '%" & cx & "%' or " & key1 & " Like '%" & cx & "%'"
    DataTables(tbn).Load()
    DataTables(tbn1).LoadFilter = key2 & " Like '%" & cx & "%'"
    DataTables(tbn1).Load()
    If DataTables(tbn).DataRows.Count = 0 AndAlso DataTables(tbn1).DataRows.Count = 0 Then
        MessageBox.show("没有查找到相关数据!","提示")
        Return Nothing
    Else
        Dim ids As String
        For Each dr As DataRow In DataTables(tbn).DataRows
            ids = ids & ",'" & dr(keys) & "'"
            ids= ids.Trim(",")
            DataTables(tbn1).LoadFilter = keys & "In (" & ids & ")"
        Next
        Dim vds As String
        For Each dr As DataRow In DataTables(tbn1).DataRows
            vds = vds & ",'" & dr(keys) & "'"
            vds= vds.Trim(",")
            DataTables(tbn).LoadFilter = keys & "In (" & vds & ")"
        Next
    End If
End If
DataTables(tbn1).LoadTop = ""
'DataTables(tbn1).Load()

 

执行函数代码:Functions.Execute("主子表查询",e.Form.Controls("查询框(供应商信息)").Text,"请输入供应商名称或供应商代码或联系人!","供应商资料主表","供应商资料子表","名称","代码","联系人","代码")

 

内部函数代码最后一句标红加粗的去掉就没事,但是子表没有被加载,无法显示,执行的话就直接导致程序假死,求大神解答

 

 


 回到顶部
总数 33 1 2 3 4 下一页