Foxtable(狐表)用户栏目专家坐堂 → 使用外部数据源时,动态加载数据的例子


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

主题:使用外部数据源时,动态加载数据的例子

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


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2009/3/17 7:19:00 [显示全部帖子]

正需要,学习!

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


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2009/3/17 11:13:00 [显示全部帖子]

我本想把所有定额(25个表)放到外部数据中,没有成功。

数据加载为一条一条的加载(输入 定额编号 后,在所属 定额 中查找这个 定额编号 的 材料编号 和 定额用量 )

BeforeConnectOuterDataSource 如下:

If e.Name = "gaoqr"
  e.C & e.ProjectPath & "工程.mdb;Persist Security Info=False"
End If

BeforeLoadOuterTable 不会设置。(定额 是变量 25个表名,不知怎样改动)

If e.DataTableName = "实体预算书" Then
    e.SelectString = "Select * From 定额 Where 定额编号 < 0"
End If


请高人指点。

内部表原代码 DataColChanged 如下,通过。

                For Each dr2 As DataRow In DataTables(c("定额")).Select("定额编号 = '" & c("定额编号") &  "'")
                Dim r3 As Row = Tables(b("关联表")).AddNew
                r3("序号1") = c("序号1")
                r3("材料编号") = dr2("材料编号")
                r3("定额用量") = dr2("定额用量")
            Next

修改如下:
            Dim de As String = c("定额")
            Dim bh As String = c("定额编号")
            Dim cmd As New SQLCommand
            Dim dt As DataTable
            cmd.C
            cmd.CommandText = "SELECT DISTINCT 材料编号,定额用量 From de WHERE 定额编号 = bh "
            dt = cmd.ExecuteReader()
            For Each dr2 As DataRow In DataTables(dt)
                Dim r3 As Row = Tables(b("关联表")).AddNew
                r3("序号1") = c("序号1")
                r3("材料编号") = dr2("材料编号")
                r3("定额用量") = dr2("定额用量")
            Next

出现错误提示



图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

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


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2009/3/17 11:37:00 [显示全部帖子]

这样修改也报错

            Dim bh As String = c("定额编号")
            Dim cmd As New SQLCommand
            Dim dt As DataTable
            cmd.CommandText = "SELECT * From de WHERE 定额编号 = bh "
            dt = cmd.ExecuteReader()
            For Each dr2 As DataRow In DataTables(dt).Select("定额编号 = bh ")

怎样修改正确?BeforeLoadOuterTable 应这样设置?

谢谢!


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


加好友 发短信
等级:小狐 帖子:353 积分:3058 威望:0 精华:0 注册:2008/9/1 6:39:00
  发帖心情 Post By:2009/3/17 14:22:00 [显示全部帖子]

先谢谢老大,我再试试。

 回到顶部