Foxtable(狐表)用户栏目专家坐堂 → 海量数据加载问题


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

主题:海量数据加载问题

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


加好友 发短信
等级:幼狐 帖子:116 积分:998 威望:0 精华:0 注册:2012/10/11 11:11:00
海量数据加载问题  发帖心情 Post By:2017/8/22 20:56:00 [只看该作者]

If e.DataCol.Name = "商品条码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("商品名称") = Nothing
        e.DataRow("规格") = Nothing
        e.DataRow("单位") = Nothing
        e.DataRow("进价") = Nothing
        e.DataRow("售价") = Nothing
        e.DataRow("类别编码") = Nothing
        e.DataRow("产地") = Nothing
    Else
        Dim dr As DataRow
        dr = DataTables("云数据").Find("[商品条码] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            e.DataRow("商品名称") = dr("商品名称")
            e.DataRow("规格") = dr("规格")
            e.DataRow("单位") = dr("单位")
            e.DataRow("进价") = dr("进价")
            e.DataRow("售价") = dr("售价")
            e.DataRow("类别编码") = dr("类别编码")
            e.DataRow("产地") = dr("产地")
        End If
    End If

我有一个数据表叫做云数据,里面是百万级别的数据量,有120万条数据,我只想在表A的商品条码列,对应在数据库中找到对应值,来更新 规格 单位品名什么的,例如上面的代码,但是由于云数据表非常庞大,加载的时间特别长,用什么方法,可以不用加载这个表或者在后台加载这个数据表,只在里面找到对应值然后引用的表A当中就可以,或者是加载时间短的


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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/22 21:01:00 [只看该作者]

不加载这个表,直接后台查找:http://www.foxtable.com/webhelp/scr/2911.htm

dr = DataTables("云数据").SqlFind("[商品条码] = '" & e.NewValue & "'")

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


加好友 发短信
等级:幼狐 帖子:116 积分:998 威望:0 精华:0 注册:2012/10/11 11:11:00
  发帖心情 Post By:2017/8/22 21:14:00 [只看该作者]

不是SQL类型的

是ACCES外部数据库 要怎么写啊


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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/22 21:16:00 [只看该作者]

请仔细看帮助,不要望文生义。只要是外部表就可以使用

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


加好友 发短信
等级:幼狐 帖子:116 积分:998 威望:0 精华:0 注册:2012/10/11 11:11:00
  发帖心情 Post By:2017/8/22 21:16:00 [只看该作者]

好的 谢谢

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


加好友 发短信
等级:幼狐 帖子:116 积分:998 威望:0 精华:0 注册:2012/10/11 11:11:00
  发帖心情 Post By:2017/8/22 21:21:00 [只看该作者]

那技术大佬,请问 例如我表A中有的商品条码,在数据库中没有对应值,那么规格 单位 什么我自己填写,我想填写后自动将这条数据增加到数据库中,这样 这个数据库就会越来越全 需要怎么写代码呢

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


加好友 发短信
等级:幼狐 帖子:116 积分:998 威望:0 精华:0 注册:2012/10/11 11:11:00
  发帖心情 Post By:2017/8/22 21:27:00 [只看该作者]

大佬这样不行啊,我照您说的写的代码,我的外部数据表加载的默认行数,可是表A中数据根本不更新,也就是说,如果没有加载这些数据,他就不更新,如果全部加载就又成原来的了,如果只填写外部链接,而不加载外部表的话,会提示我根本没有这个表

If e.DataCol.Name = "商品条码" Then
    If e.NewValue Is Nothing Then
        e.DataRow("商品名称") = Nothing
        e.DataRow("规格") = Nothing
        e.DataRow("单位") = Nothing
        e.DataRow("进价") = Nothing
        e.DataRow("售价") = Nothing
        e.DataRow("类别编码") = Nothing
        e.DataRow("产地") = Nothing
    Else
        Dim dr As DataRow
       
dr = DataTables("云数据").SqlFind("[商品条码] = '" & e.NewValue & "'")
        If dr IsNot Nothing
            e.DataRow("商品名称") = dr("商品名称")
            e.DataRow("规格") = dr("规格")
            e.DataRow("单位") = dr("单位")
            e.DataRow("进价") = dr("进价")
            e.DataRow("售价") = dr("售价")
            e.DataRow("类别编码") = dr("类别编码")
            e.DataRow("产地") = dr("产地")
        End If
    End If
End If


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


加好友 发短信
等级:超级版主 帖子:110592 积分:562856 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2017/8/22 21:30:00 [只看该作者]

1、加载这个表,不要加载数据,直接增加行并编辑,然后保存即可

2、如果通过其它表的数据来保存的,可以使用sql保存:http://www.foxtable.com/webhelp/scr/0696.htm

 回到顶部