Foxtable(狐表)用户栏目专家坐堂 → [讨论]关于动态加载的一段代码


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

主题:[讨论]关于动态加载的一段代码

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


加好友 发短信
等级:婴狐 帖子:37 积分:404 威望:0 精华:0 注册:2011/8/10 12:43:00
[讨论]关于动态加载的一段代码  发帖心情 Post By:2011/9/30 16:10:00 [只看该作者]

在帮助里面,有关动态加载->父表与子表同步加载的说明中,有如下一段代码:

 

If DataTables("订单").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables(
"订单明细").LoadFilter = "订单ID Is Null" '不加载订单明细
Else
    Dim
ids As String
    For Each
dr As DataRow In DataTables("订单").DataRows
        ids = ids & "," & dr("订单ID")
    Next
    ids= ids.Trim(",")
    DataTables(
"订单明细").LoadFilter = "订单ID In (" & ids & ")"
End If
DataTables(
"订单明细").Load()

 

我不知道老大在写这段代码的时候,“订单ID”是基于字符串的还是数值的。下午我在写如上的一段代码时,发现假如“订单ID”是字符串值的话,ids = ids & "," & dr("订单ID") 这条语句是错误的,参考了SQL的IN参数,前面的这条语句应该写成:ids = ids & ",'" & dr("订单ID") & "'"

亦即帮助里的“加载条件为:订单ID In (1,2,6,7,8,9)”应该是“加载条件为:订单ID In ('1','2','6','7','8','9')

 

不知是否正确?供参考


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


加好友 发短信
等级:小狐 帖子:360 积分:2794 威望:0 精华:0 注册:2010/4/30 18:38:00
  发帖心情 Post By:2011/9/30 16:46:00 [只看该作者]

dim ids as string

If DataTables("订单").DataRows.Count = 0 Then '如果订单表没有数据
    DataTables(
"订单明细").LoadFilter = "订单ID Is Null" '不加载订单明细
Else
    For Each dr As DataRow In DataTables("订单").DataRows

       if ids="" then

          ids="'" & dr("订单ID") & "'" 

        else
         ids=ids & ",'" & dr("订单ID") & "'"

       end if
    Next

    ids="(" & ids & ")"
    DataTables(
"订单明细").LoadFilter = "订单ID In " & ids

    DataTables("订单明细").Load()
End If

[此贴子已经被作者于2011-9-30 16:49:50编辑过]

 回到顶部