Foxtable(狐表)用户栏目专家坐堂 → 反复后台统计表,写入到ft中,内存一直增加,如何办?


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

主题:反复后台统计表,写入到ft中,内存一直增加,如何办?

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


加好友 发短信
等级:三尾狐 帖子:627 积分:6899 威望:0 精华:0 注册:2013/12/17 1:00:00
反复后台统计表,写入到ft中,内存一直增加,如何办?  发帖心情 Post By:2018/11/27 18:09:00 [只看该作者]

For Each na As String In nax
    Dim b1 As New SQLGroupTableBuilder("多表统计2",na)
    b1.C
    If str2.Contains("|") Then
        Dim values2() As String
        values2 = str2.Split("|")
        For x As Integer =0 To values2.Length-1
            b1.Groups.AddDef(values2(x)) '只有一个分组列
        Next
    Else
        b1.Groups.AddDef(str2) '只有一个分组列
    End If
    Select Case str5
        Case "求和"
            b1.Totals.AddDef(str6) '对统计列进行统计
        Case "平均值"
            b1.Totals.AddDef(str6,AggregateEnum.average) '对统计列进行统计
        Case "记录数"
            b1.Totals.AddDef(str6,AggregateEnum.Count)
        Case "平均得分率"
        Case "区间占比"
        Case "区分度"
    End Select
    b1.Build
    Dim f As New Filler
    f.SourceTable = DataTables("多表统计2") '指定数据来源
    f.DataTable = DataTables("多表统计1") '指定数据接收表
    f.Fill() '填充数据
Next

同样的表结构,通过后台统计将多表统计的结果合到第一张表中,但反复多次统计,会发现内存不断增加,最后程序就崩溃,请问此问题原因是什么?该如何解决呢?

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/11/27 18:31:00 [只看该作者]

1、试试

 

For Each na As String In nax
    Dim b1 As New SQLGroupTableBuilder("多表统计2",na)
    b1.C
    If str2.Contains("|") Then
        Dim values2() As String
        values2 = str2.Split("|")
        For x As Integer =0 To values2.Length-1
            b1.Groups.AddDef(values2(x)) '只有一个分组列
        Next
    Else
        b1.Groups.AddDef(str2) '只有一个分组列
    End If
    Select Case str5
        Case "求和"
            b1.Totals.AddDef(str6) '对统计列进行统计
        Case "平均值"
            b1.Totals.AddDef(str6,AggregateEnum.average) '对统计列进行统计
        Case "记录数"
            b1.Totals.AddDef(str6,AggregateEnum.Count)
        Case "平均得分率"
        Case "区间占比"
        Case "区分度"
    End Select
    Dim dt = b1.build(True)
    Dim f As New Filler
    f.SourceTable = dt '指定数据来源

    f.DataTable = DataTables("多表统计1") '指定数据接收表
    f.Fill() '填充数据
Next

 

2、最后你【多表统计1】有多少行数据?

 

3、做个对应或者出错的实例发上来测试。


 回到顶部