Foxtable(狐表)用户栏目专家坐堂 → 加载出错


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

主题:加载出错

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/25 13:10:00 [显示全部帖子]

这样试试:
Dim cmd As New SQLCommand
Dim dt As DataTable
cmd.Connection Name = "外部数据源名称"   ‘注意:connection 和 Name之间没有空格
cmd.CommandText = "SELECT * From {销售订单} where = [销售订单日期] >= #" & Vars("stardate") & "#and [销售订单日期]<= #" & Vars("enddate") & "# "
dt = cmd.ExecuteReader()

Dim s As String = dt.GetComboListString("销售订单编号")

s = s.Replace("|","','")

cmd.CommandText = "SELECT * From {销售订单明细} where = [销售订单编号] In ('" & s & "')"
dt = cmd.ExecuteReader()

DataTables("销售订单明细").datasource = dt

 

[此贴子已经被作者于2011-4-25 13:13:32编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/25 13:55:00 [显示全部帖子]

以下是引用红叶在2011-4-25 13:27:00的发言:

DataTables("销售订单明细").datasource = dt

datasource不是DataTables的属性类

这样呢: Tables("销售订单明细").datasource = dt


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/25 14:07:00 [显示全部帖子]

以下是引用红叶在2011-4-25 13:39:00的发言:

我再次把代码改成以下代码进行测试(但实际运用中用这样的加载条件不能达到要求的,订单明细的加载条件必须通过订单表的关联列的值进行加载,这样改只是为了测试)

DataTables("销售订单").LoadFilter="[销售订单日期] >= '" & Vars("stardate") & "'and [销售订单日期]<= '" & Vars("enddate") & "'"
        DataTables("销售订单").Load

        DataTables("销售订单明细").LoadFilter="[销售订单日期] >= '" & Vars("stardate") & "'and [销售订单日期]<= '" & Vars("enddate") & "'"
        DataTables("销售订单明细").Load

加载时间范围选择2011-03-01到2011-04-25,加载共2386+2529条数据,却用了5至6分钟,这样的数据量也不算是太大,为什么却用时这么久呢?更是有更大的数据量要加载,就会要么超时,要么死机?

做个例子来测试一下呢····  不应该要这么长时间的。

再说,你的这两个表都加载相同时间段的数据,肯定也不匹配!

 

其实根本不需要这样地将销售订单明细加载进来,你也没法看呀,加载销售订单表就可以了,选择一个销售订单表的行再加载对应的销售订单明细中的内容即可。

若真要加载销售订单明细就时间范围内的最小订单号和最大订单号全部加载进来。


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/25 14:47:00 [显示全部帖子]

以下是引用红叶在2011-4-25 14:30:00的发言:

选择一个销售订单表的行再加载对应的销售订单明细中的内容即可。

这个方法很值得,但代码在哪个事件写?如何写呢?

查看帮助中的:动态加载总结


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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:5154 积分:31434 威望:0 精华:8 注册:2008/9/8 12:27:00
  发帖心情 Post By:2011/4/26 17:13:00 [显示全部帖子]

你够小气了,不愿提供一个例子,也没有一个表间关系的图片,所以呀·····

 

17楼的说法,说明你的父子表同时都可见,当然加载时会慢。这就跟要删除父子表中的数据时,也要先删除子表数据再来删除父表的一样。

 

说不定你关闭关联表,就没有什么区别了呢。。。。。


 回到顶部