Foxtable(狐表)用户栏目专家坐堂 → 处理数据的问题


  共有1305人关注过本帖树形打印复制链接

主题:处理数据的问题

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


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
处理数据的问题  发帖心情 Post By:2016/12/19 15:03:00 [只看该作者]

我的代码如下:

Dim q As new QueryBuilder
q.TableName = "备案明细表"
q.Con nec ti
q.Sel ectString = "s ele ct * from {备案信息表} where (产品名称 Like '%面膜%') And (配方名称 In (s el ect DISTINCT {配方明细}.[PFDW] from {配方明细} where {配方明细}.YLDW in (s ele ct DISTINCT {原料目录}.[YLDW] from {原料目录} where 原料名称 in ('1.3丙二醇','1.3-丙二醇')))) And BAXXDW is not null ORDER BY BAXXDW DESC"
q.Build
If DataTables("备案明细表").DataRows.Count > 0 Then
    Dim cmd As New SQLCommand
    Dim qymc As DataTable
    Dim dgmx As DataTable
    cm d.Con necti
    Dim ids As String = DataTables("备案明细表").GetComboListString("BAXXDW")
    If ids > "" Then
        ids = ids.Replace("|",",")
        ids = ids.TrimStart(",")     
        cmd.CommandText = "S ELE CT [BAXXDW],[QYDW] From {代工明细} where BAXXDW in (" & ids & ")"
        dgmx = cmd.ExecuteReader()
        If dgmx.DataRows.Count > 0 Then
            ids = dgmx.GetComboListString("QYDW")
            ids = ids.Replace("|",",")
            ids = ids.TrimStart(",")
            cmd.CommandText = "SE LE CT [QYDW],[企业名称],[业务员] From {企业目录} where QYDW in (" & ids & ")"        
            qymc = cmd.ExecuteReader()
            If qymc.datarows.Count > 0 Then
                If DataTables("备案明细表").datacols.Contains("代工企业") = False Then
                    DataTables("备案明细表").datacols.Add("代工企业", Gettype(String), 250)
                End If
                For Each r As Row In Tables("备案明细表").Rows                  
                    Dim drs As List(Of DataRow)
                    drs = dgmx.Select("[BAXXDW] = " & r("BAXXDW") & "")
                    Output.show(drs.Count)
                    If drs.Count > 0 Then
                        Dim mc As String = ""
                        For Each dr As DataRow In drs
                            Dim tr As DataRow = qymc.find("QYDW = " & dr("QYDW") & "")
                            If tr IsNot Nothing Then
                                Output.show(r("产品名称"))
                                Output.show(tr("企业名称"))
                                If mc  = "" Then
                                    mc = tr("企业名称")
                                Else
                                    mc = mc & "," & tr("企业名称")
                                End If
                                r("代工企业")= mc
                            End If
                        Next
                    End If
                Next
            End If
        End If
    End If
End If

Output.show(1)

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2016/12/19 15:05:00 [只看该作者]

但是会出现以下错误:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:vle)v@jctr2f{%nw@}kqg5b.png
图片点击可在新窗口打开查看

 回到顶部
帅哥哟,离线,有人找我吗?
ap9709130
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:六尾狐 帖子:1467 积分:11418 威望:0 精华:0 注册:2013/11/24 22:10:00
  发帖心情 Post By:2016/12/19 15:07:00 [只看该作者]

我用output 找出错误的行,然后单独用这行去运行,又没有问题,可以通过。但是行数大于1500行就会出这个错误,为什么啊?

 回到顶部
帅哥哟,离线,有人找我吗?
有点色
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:13837 积分:69650 威望:0 精华:0 注册:2016/11/1 14:42:00
  发帖心情 Post By:2016/12/19 15:30:00 [只看该作者]

 你合成的条件是什么?会不会过长?


 回到顶部